Staging: comedi: pcmcia irq fixes
[safe/jmp/linux-2.6] / drivers / staging / comedi / drivers / ke_counter.c
index 08f09ac..c145e82 100644 (file)
@@ -48,49 +48,52 @@ Kolter Electronic PCI Counter Card.
 
 /*-- function prototypes ----------------------------------------------------*/
 
-static int cnt_attach(struct comedi_device * dev, comedi_devconfig * it);
-static int cnt_detach(struct comedi_device * dev);
+static int cnt_attach(struct comedi_device *dev, struct comedi_devconfig *it);
+static int cnt_detach(struct comedi_device *dev);
 
 static DEFINE_PCI_DEVICE_TABLE(cnt_pci_table) = {
-       {PCI_VENDOR_ID_KOLTER, CNT_CARD_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-               0},
-       {0}
+       {
+       PCI_VENDOR_ID_KOLTER, CNT_CARD_DEVICE_ID, PCI_ANY_ID,
+                   PCI_ANY_ID, 0, 0, 0}, {
+       0}
 };
 
 MODULE_DEVICE_TABLE(pci, cnt_pci_table);
 
 /*-- board specification structure ------------------------------------------*/
 
-typedef struct {
+struct cnt_board_struct {
+
        const char *name;
        int device_id;
        int cnt_channel_nbr;
        int cnt_bits;
-} cnt_board_struct;
+};
 
-static const cnt_board_struct cnt_boards[] = {
+static const struct cnt_board_struct cnt_boards[] = {
        {
-             name:     CNT_DRIVER_NAME,
-             device_id:CNT_CARD_DEVICE_ID,
-             cnt_channel_nbr:3,
-      cnt_bits:24}
+        .name = CNT_DRIVER_NAME,
+        .device_id = CNT_CARD_DEVICE_ID,
+        .cnt_channel_nbr = 3,
+        .cnt_bits = 24}
 };
 
-#define cnt_board_nbr (sizeof(cnt_boards)/sizeof(cnt_board_struct))
+#define cnt_board_nbr (sizeof(cnt_boards)/sizeof(struct cnt_board_struct))
 
 /*-- device private structure -----------------------------------------------*/
 
-typedef struct {
+struct cnt_device_private {
+
        struct pci_dev *pcidev;
-} cnt_device_private;
+};
 
-#define devpriv ((cnt_device_private *)dev->private)
+#define devpriv ((struct cnt_device_private *)dev->private)
 
-static comedi_driver cnt_driver = {
-      driver_name:CNT_DRIVER_NAME,
-      module:THIS_MODULE,
-      attach:cnt_attach,
-      detach:cnt_detach,
+static struct comedi_driver cnt_driver = {
+       .driver_name = CNT_DRIVER_NAME,
+       .module = THIS_MODULE,
+       .attach = cnt_attach,
+       .detach = cnt_detach,
 };
 
 COMEDI_PCI_INITCLEANUP(cnt_driver, cnt_pci_table);
@@ -99,19 +102,20 @@ COMEDI_PCI_INITCLEANUP(cnt_driver, cnt_pci_table);
 
 /* This should be used only for resetting the counters; maybe it is better
    to make a special command 'reset'. */
-static int cnt_winsn(struct comedi_device * dev,
-       struct comedi_subdevice * s, comedi_insn * insn, unsigned int * data)
+static int cnt_winsn(struct comedi_device *dev,
+                    struct comedi_subdevice *s, struct comedi_insn *insn,
+                    unsigned int *data)
 {
        int chan = CR_CHAN(insn->chanspec);
 
        outb((unsigned char)((data[0] >> 24) & 0xff),
-               dev->iobase + chan * 0x20 + 0x10);
+            dev->iobase + chan * 0x20 + 0x10);
        outb((unsigned char)((data[0] >> 16) & 0xff),
-               dev->iobase + chan * 0x20 + 0x0c);
+            dev->iobase + chan * 0x20 + 0x0c);
        outb((unsigned char)((data[0] >> 8) & 0xff),
-               dev->iobase + chan * 0x20 + 0x08);
+            dev->iobase + chan * 0x20 + 0x08);
        outb((unsigned char)((data[0] >> 0) & 0xff),
-               dev->iobase + chan * 0x20 + 0x04);
+            dev->iobase + chan * 0x20 + 0x04);
 
        /* return the number of samples written */
        return 1;
@@ -119,8 +123,9 @@ static int cnt_winsn(struct comedi_device * dev,
 
 /*-- counter read -----------------------------------------------------------*/
 
-static int cnt_rinsn(struct comedi_device * dev,
-       struct comedi_subdevice * s, comedi_insn * insn, unsigned int * data)
+static int cnt_rinsn(struct comedi_device *dev,
+                    struct comedi_subdevice *s, struct comedi_insn *insn,
+                    unsigned int *data)
 {
        unsigned char a0, a1, a2, a3, a4;
        int chan = CR_CHAN(insn->chanspec);
@@ -136,7 +141,7 @@ static int cnt_rinsn(struct comedi_device * dev,
        if (a4 > 0)
                result = result - s->maxdata;
 
-       *data = (unsigned int) result;
+       *data = (unsigned int)result;
 
        /* return the number of samples read */
        return 1;
@@ -144,63 +149,66 @@ static int cnt_rinsn(struct comedi_device * dev,
 
 /*-- attach -----------------------------------------------------------------*/
 
-static int cnt_attach(struct comedi_device * dev, comedi_devconfig * it)
+static int cnt_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 {
        struct comedi_subdevice *subdevice;
        struct pci_dev *pci_device;
-       cnt_board_struct *board;
+       struct cnt_board_struct *board;
        unsigned long io_base;
        int error, i;
 
        /* allocate device private structure */
-       if ((error = alloc_private(dev, sizeof(cnt_device_private))) < 0) {
+       error = alloc_private(dev, sizeof(struct cnt_device_private));
+       if (error < 0)
                return error;
-       }
 
        /* Probe the device to determine what device in the series it is. */
        for (pci_device = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, NULL);
-               pci_device != NULL;
-               pci_device =
-               pci_get_device(PCI_ANY_ID, PCI_ANY_ID, pci_device)) {
+            pci_device != NULL;
+            pci_device = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, pci_device)) {
                if (pci_device->vendor == PCI_VENDOR_ID_KOLTER) {
                        for (i = 0; i < cnt_board_nbr; i++) {
                                if (cnt_boards[i].device_id ==
-                                       pci_device->device) {
+                                   pci_device->device) {
                                        /* was a particular bus/slot requested? */
                                        if ((it->options[0] != 0)
-                                               || (it->options[1] != 0)) {
+                                           || (it->options[1] != 0)) {
                                                /* are we on the wrong bus/slot? */
                                                if (pci_device->bus->number !=
-                                                       it->options[0]
-                                                       || PCI_SLOT(pci_device->
-                                                               devfn) !=
-                                                       it->options[1]) {
+                                                   it->options[0]
+                                                   ||
+                                                   PCI_SLOT(pci_device->devfn)
+                                                   != it->options[1]) {
                                                        continue;
                                                }
                                        }
 
                                        dev->board_ptr = cnt_boards + i;
-                                       board = (cnt_board_struct *) dev->
-                                               board_ptr;
+                                       board =
+                                           (struct cnt_board_struct *)
+                                           dev->board_ptr;
                                        goto found;
                                }
                        }
                }
        }
        printk("comedi%d: no supported board found! (req. bus/slot: %d/%d)\n",
-               dev->minor, it->options[0], it->options[1]);
+              dev->minor, it->options[0], it->options[1]);
        return -EIO;
 
-      found:
+found:
        printk("comedi%d: found %s at PCI bus %d, slot %d\n", dev->minor,
-               board->name, pci_device->bus->number,
-               PCI_SLOT(pci_device->devfn));
+              board->name, pci_device->bus->number,
+              PCI_SLOT(pci_device->devfn));
        devpriv->pcidev = pci_device;
        dev->board_name = board->name;
 
        /* enable PCI device and request regions */
-       if ((error = comedi_pci_enable(pci_device, CNT_DRIVER_NAME)) < 0) {
-               printk("comedi%d: failed to enable PCI device and request regions!\n", dev->minor);
+       error = comedi_pci_enable(pci_device, CNT_DRIVER_NAME);
+       if (error < 0) {
+               printk
+                   ("comedi%d: failed to enable PCI device and request regions!\n",
+                    dev->minor);
                return error;
        }
 
@@ -209,9 +217,9 @@ static int cnt_attach(struct comedi_device * dev, comedi_devconfig * it)
        dev->iobase = io_base;
 
        /* allocate the subdevice structures */
-       if ((error = alloc_subdevices(dev, 1)) < 0) {
+       error = alloc_subdevices(dev, 1);
+       if (error < 0)
                return error;
-       }
 
        subdevice = dev->subdevices + 0;
        dev->read_subdev = subdevice;
@@ -223,10 +231,10 @@ static int cnt_attach(struct comedi_device * dev, comedi_devconfig * it)
        subdevice->insn_read = cnt_rinsn;
        subdevice->insn_write = cnt_winsn;
 
-       // select 20MHz clock
+       /*  select 20MHz clock */
        outb(3, dev->iobase + 248);
 
-       // reset all counters
+       /*  reset all counters */
        outb(0, dev->iobase);
        outb(0, dev->iobase + 0x20);
        outb(0, dev->iobase + 0x40);
@@ -237,7 +245,7 @@ static int cnt_attach(struct comedi_device * dev, comedi_devconfig * it)
 
 /*-- detach -----------------------------------------------------------------*/
 
-static int cnt_detach(struct comedi_device * dev)
+static int cnt_detach(struct comedi_device *dev)
 {
        if (devpriv && devpriv->pcidev) {
                if (dev->iobase) {