Staging: comedi: pcmmio: Coding style cleanup

Signed-off-by: Daniel Patrick Johnson <teknotus@teknot.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Daniel Patrick Johnson 2009-10-14 02:04:23 +00:00 committed by Greg Kroah-Hartman
parent 22d89f4abf
commit d2d08955e7

View file

@ -32,8 +32,10 @@ Winsystems. This board is a PC-104 based I/O board. It contains
four subdevices: four subdevices:
subdevice 0 - 16 channels of 16-bit AI subdevice 0 - 16 channels of 16-bit AI
subdevice 1 - 8 channels of 16-bit AO subdevice 1 - 8 channels of 16-bit AO
subdevice 2 - first 24 channels of the 48 channel of DIO (with edge-triggered interrupt support) subdevice 2 - first 24 channels of the 48 channel of DIO
subdevice 3 - last 24 channels of the 48 channel DIO (no interrupt support for this bank of channels) (with edge-triggered interrupt support)
subdevice 3 - last 24 channels of the 48 channel DIO
(no interrupt support for this bank of channels)
Some notes: Some notes:
@ -70,7 +72,8 @@ four subdevices:
Configuration Options: Configuration Options:
[0] - I/O port base address [0] - I/O port base address
[1] - IRQ (optional -- for edge-detect interrupt support only, leave out if you don't need this feature) [1] - IRQ (optional -- for edge-detect interrupt support only,
leave out if you don't need this feature)
*/ */
#include <linux/interrupt.h> #include <linux/interrupt.h>
@ -115,9 +118,11 @@ Configuration Options:
#define REG_PORT4 0x4 #define REG_PORT4 0x4
#define REG_PORT5 0x5 #define REG_PORT5 0x5
#define REG_INT_PENDING 0x6 #define REG_INT_PENDING 0x6
#define REG_PAGELOCK 0x7 /* page selector register, upper 2 bits select a page #define REG_PAGELOCK 0x7 /*
and bits 0-5 are used to 'lock down' a particular * page selector register, upper 2 bits select
port above to make it readonly. */ * a page and bits 0-5 are used to 'lock down'
* a particular port above to make it readonly.
*/
#define REG_POL0 0x8 #define REG_POL0 0x8
#define REG_POL1 0x9 #define REG_POL1 0x9
#define REG_POL2 0xA #define REG_POL2 0xA
@ -134,7 +139,7 @@ Configuration Options:
#define REG_PAGE_BITOFFSET 6 #define REG_PAGE_BITOFFSET 6
#define REG_LOCK_BITOFFSET 0 #define REG_LOCK_BITOFFSET 0
#define REG_PAGE_MASK (~((0x1<<REG_PAGE_BITOFFSET)-1)) #define REG_PAGE_MASK (~((0x1<<REG_PAGE_BITOFFSET)-1))
#define REG_LOCK_MASK ~(REG_PAGE_MASK) #define REG_LOCK_MASK (~(REG_PAGE_MASK))
#define PAGE_POL 1 #define PAGE_POL 1
#define PAGE_ENAB 2 #define PAGE_ENAB 2
#define PAGE_INT_ID 3 #define PAGE_INT_ID 3
@ -168,13 +173,12 @@ struct pcmmio_board {
comedi_insn_fn_t ai_rinsn, ao_rinsn, ao_winsn; comedi_insn_fn_t ai_rinsn, ao_rinsn, ao_winsn;
}; };
static const struct comedi_lrange ranges_ai = static const struct comedi_lrange ranges_ai = {
{ 4, {RANGE(-5., 5.), RANGE(-10., 10.), RANGE(0., 5.), RANGE(0., 4, {RANGE(-5., 5.), RANGE(-10., 10.), RANGE(0., 5.), RANGE(0., 10.)}
10.)}
}; };
static const struct comedi_lrange ranges_ao = static const struct comedi_lrange ranges_ao = {
{ 6, {RANGE(0., 5.), RANGE(0., 10.), RANGE(-5., 5.), RANGE(-10., 10.), 6, {RANGE(0., 5.), RANGE(0., 10.), RANGE(-5., 5.), RANGE(-10., 10.),
RANGE(-2.5, 2.5), RANGE(-2.5, 7.5)} RANGE(-2.5, 2.5), RANGE(-2.5, 7.5)}
}; };
@ -204,7 +208,8 @@ static const struct pcmmio_board pcmmio_boards[] = {
struct pcmmio_subdev_private { struct pcmmio_subdev_private {
union { union {
/* for DIO: mapping of halfwords (bytes) in port/chanarray to iobase */ /* for DIO: mapping of halfwords (bytes)
in port/chanarray to iobase */
unsigned long iobases[PORTS_PER_SUBDEV]; unsigned long iobases[PORTS_PER_SUBDEV];
/* for AI/AO */ /* for AI/AO */
@ -215,15 +220,31 @@ struct pcmmio_subdev_private {
/* The below is only used for intr subdevices */ /* The below is only used for intr subdevices */
struct { struct {
int asic; /* if non-negative, this subdev has an interrupt asic */ /*
int first_chan; /* if nonnegative, the first channel id for * if non-negative, this subdev has an
interrupts. */ * interrupt asic
int num_asic_chans; /* the number of asic channels in this subdev */
that have interrutps */ int asic;
int asic_chan; /* if nonnegative, the first channel id with /*
respect to the asic that has interrupts */ * if nonnegative, the first channel id for
int enabled_mask; /* subdev-relative channel mask for channels * interrupts.
we are interested in */ */
int first_chan;
/*
* the number of asic channels in this subdev
* that have interrutps
*/
int num_asic_chans;
/*
* if nonnegative, the first channel id with
* respect to the asic that has interrupts
*/
int asic_chan;
/*
* subdev-relative channel mask for channels
* we are interested in
*/
int enabled_mask;
int active; int active;
int stop_count; int stop_count;
int continuous; int continuous;
@ -231,20 +252,25 @@ struct pcmmio_subdev_private {
} intr; } intr;
} dio; } dio;
struct { struct {
unsigned int shadow_samples[8]; /* the last unsigned int data written */ /* the last unsigned int data written */
unsigned int shadow_samples[8];
} ao; } ao;
}; };
}; };
/* this structure is for data unique to this hardware driver. If /*
several hardware drivers keep similar information in this structure, * this structure is for data unique to this hardware driver. If
feel free to suggest moving the variable to the struct comedi_device struct. */ * several hardware drivers keep similar information in this structure,
* feel free to suggest moving the variable to the struct comedi_device struct.
*/
struct pcmmio_private { struct pcmmio_private {
/* stuff for DIO */ /* stuff for DIO */
struct { struct {
unsigned char pagelock; /* current page and lock */ unsigned char pagelock; /* current page and lock */
unsigned char pol[NUM_PAGED_REGS]; /* shadow of POLx registers */ /* shadow of POLx registers */
unsigned char enab[NUM_PAGED_REGS]; /* shadow of ENABx registers */ unsigned char pol[NUM_PAGED_REGS];
/* shadow of ENABx registers */
unsigned char enab[NUM_PAGED_REGS];
int num; int num;
unsigned long iobase; unsigned long iobase;
unsigned int irq; unsigned int irq;
@ -312,7 +338,8 @@ static int pcmmio_cmdtest(struct comedi_device *dev, struct comedi_subdevice *s,
struct comedi_cmd *cmd); struct comedi_cmd *cmd);
/* some helper functions to deal with specifics of this device's registers */ /* some helper functions to deal with specifics of this device's registers */
static void init_asics(struct comedi_device *dev); /* sets up/clears ASIC chips to defaults */ /* sets up/clears ASIC chips to defaults */
static void init_asics(struct comedi_device *dev);
static void switch_page(struct comedi_device *dev, int asic, int page); static void switch_page(struct comedi_device *dev, int asic, int page);
#ifdef notused #ifdef notused
static void lock_port(struct comedi_device *dev, int asic, int port); static void lock_port(struct comedi_device *dev, int asic, int port);
@ -367,9 +394,11 @@ static int pcmmio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
devpriv->asics[asic].num = asic; devpriv->asics[asic].num = asic;
devpriv->asics[asic].iobase = devpriv->asics[asic].iobase =
dev->iobase + 16 + asic * ASIC_IOSIZE; dev->iobase + 16 + asic * ASIC_IOSIZE;
devpriv->asics[asic].irq = 0; /* this gets actually set at the end of /*
this function when we * this gets actually set at the end of this function when we
request_irqs */ * request_irqs
*/
devpriv->asics[asic].irq = 0;
spin_lock_init(&devpriv->asics[asic].spinlock); spin_lock_init(&devpriv->asics[asic].spinlock);
} }
@ -463,7 +492,10 @@ static int pcmmio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
if (thisasic_chanct < if (thisasic_chanct <
CHANS_PER_PORT * INTR_PORTS_PER_ASIC CHANS_PER_PORT * INTR_PORTS_PER_ASIC
&& subpriv->dio.intr.asic < 0) { && subpriv->dio.intr.asic < 0) {
/* this is an interrupt subdevice, so setup the struct */ /*
* this is an interrupt subdevice,
* so setup the struct
*/
subpriv->dio.intr.asic = asic; subpriv->dio.intr.asic = asic;
subpriv->dio.intr.active = 0; subpriv->dio.intr.active = 0;
subpriv->dio.intr.stop_count = 0; subpriv->dio.intr.stop_count = 0;
@ -484,7 +516,11 @@ static int pcmmio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
chans_left -= s->n_chan; chans_left -= s->n_chan;
if (!chans_left) { if (!chans_left) {
asic = 0; /* reset the asic to our first asic, to do intr subdevs */ /*
* reset the asic to our first asic,
* to do intr subdevs
*/
asic = 0;
port = 0; port = 0;
} }
@ -507,8 +543,10 @@ static int pcmmio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
devpriv->asics[asic].irq = irq[asic]; devpriv->asics[asic].irq = irq[asic];
} }
dev->irq = irq[0]; /* grr.. wish comedi dev struct supported multiple dev->irq = irq[0]; /*
irqs.. */ * grr.. wish comedi dev struct supported
* multiple irqs..
*/
if (irq[0]) { if (irq[0]) {
printk("irq: %u ", irq[0]); printk("irq: %u ", irq[0]);
@ -604,9 +642,14 @@ static int pcmmio_dio_insn_bits(struct comedi_device *dev,
#endif #endif
if (write_mask_byte) { if (write_mask_byte) {
/* this byte has some write_bits -- so set the output lines */ /*
byte &= ~write_mask_byte; /* clear bits for write mask */ * this byte has some write_bits
byte |= ~data_byte & write_mask_byte; /* set to inverted data_byte */ * -- so set the output lines
*/
/* clear bits for write mask */
byte &= ~write_mask_byte;
/* set to inverted data_byte */
byte |= ~data_byte & write_mask_byte;
/* Write out the new digital output state */ /* Write out the new digital output state */
outb(byte, ioaddr); outb(byte, ioaddr);
} }