- patches.arch/x86_mce_intel_decode_physical_address.patch:
[linux-flexiantxendom0-3.2.10.git] / drivers / staging / comedi / drivers / ni_mio_cs.c
index dc4849a..3a46f0c 100644 (file)
@@ -123,7 +123,7 @@ static const struct ni_board_struct ni_boards[] = {
         .adbits = 12,
         .ai_fifo_depth = 1024,
         .alwaysdither = 0,
-        .gainlkup = ai_gain_16,
+        .gainlkup = ai_gain_4,
         .ai_speed = 5000,
         .n_aochan = 2,
         .aobits = 12,
@@ -262,17 +262,11 @@ static void cs_detach(struct pcmcia_device *);
 
 static struct pcmcia_device *cur_dev = NULL;
 static const dev_info_t dev_info = "ni_mio_cs";
-static dev_node_t dev_node = {
-       "ni_mio_cs",
-       COMEDI_MAJOR, 0,
-       NULL
-};
 
 static int cs_attach(struct pcmcia_device *link)
 {
        link->io.Attributes1 = IO_DATA_PATH_WIDTH_16;
        link->io.NumPorts1 = 16;
-       link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
        link->conf.Attributes = CONF_ENABLE_IRQ;
        link->conf.IntType = INT_MEMORY_AND_IO;
 
@@ -292,8 +286,7 @@ static void cs_detach(struct pcmcia_device *link)
 {
        DPRINTK("cs_detach(link=%p)\n", link);
 
-       if (link->dev_node)
-               cs_release(link);
+       cs_release(link);
 }
 
 static int mio_cs_suspend(struct pcmcia_device *link)
@@ -344,14 +337,10 @@ static void mio_cs_config(struct pcmcia_device *link)
                return;
        }
 
-       ret = pcmcia_request_irq(link, &link->irq);
-       if (ret) {
-               printk("pcmcia_request_irq() returned error: %i\n", ret);
-       }
+       if (!link->irq)
+               dev_info(&link->dev, "no IRQ available\n");
 
        ret = pcmcia_request_configuration(link, &link->conf);
-
-       link->dev_node = &dev_node;
 }
 
 static int mio_cs_attach(struct comedi_device *dev, struct comedi_devconfig *it)
@@ -369,7 +358,7 @@ static int mio_cs_attach(struct comedi_device *dev, struct comedi_devconfig *it)
        dev->driver = &driver_ni_mio_cs;
        dev->iobase = link->io.BasePort1;
 
-       irq = link->irq.AssignedIRQ;
+       irq = link->irq;
 
        printk("comedi%d: %s: DAQCard: io 0x%04lx, irq %u, ",
               dev->minor, dev->driver->driver_name, dev->iobase, irq);
@@ -439,8 +428,6 @@ static int ni_getboardtype(struct comedi_device *dev,
 
 #ifdef MODULE
 
-MODULE_LICENSE("GPL");
-
 static struct pcmcia_device_id ni_mio_cs_ids[] = {
        PCMCIA_DEVICE_MANF_CARD(0x010b, 0x010d),        /* DAQCard-ai-16xe-50 */
        PCMCIA_DEVICE_MANF_CARD(0x010b, 0x010c),        /* DAQCard-ai-16e-4 */
@@ -451,6 +438,9 @@ static struct pcmcia_device_id ni_mio_cs_ids[] = {
 };
 
 MODULE_DEVICE_TABLE(pcmcia, ni_mio_cs_ids);
+MODULE_AUTHOR("David A. Schleef <ds@schleef.org>");
+MODULE_DESCRIPTION("Comedi driver for National Instruments DAQCard E series");
+MODULE_LICENSE("GPL");
 
 struct pcmcia_driver ni_mio_cs_driver = {
        .probe = &cs_attach,