staging: comedi: remove inline alloc_private()
[linux-2.6-block.git] / drivers / staging / comedi / drivers / ii_pci20kc.c
index 65ff1c9b973c1acd7ca9965463f0c23ae3a307f7..93584e2be35a50c8e97dbfec2a494e33e60cddae 100644 (file)
@@ -156,7 +156,6 @@ struct pci20xxx_private {
        union pci20xxx_subdev_private subdev_private[PCI20000_MODULES];
 };
 
-#define devpriv ((struct pci20xxx_private *)dev->private)
 #define CHAN (CR_CHAN(it->chanlist[0]))
 
 static int pci20006_init(struct comedi_device *dev, struct comedi_subdevice *s,
@@ -196,6 +195,7 @@ static int pci20xxx_dio_init(struct comedi_device *dev,
 static int pci20xxx_attach(struct comedi_device *dev,
                           struct comedi_devconfig *it)
 {
+       struct pci20xxx_private *devpriv;
        unsigned char i;
        int ret;
        int id;
@@ -206,22 +206,23 @@ static int pci20xxx_attach(struct comedi_device *dev,
        if (ret)
                return ret;
 
-       ret = alloc_private(dev, sizeof(struct pci20xxx_private));
-       if (ret < 0)
-               return ret;
+       devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL);
+       if (!devpriv)
+               return -ENOMEM;
+       dev->private = devpriv;
 
        devpriv->ioaddr = (void __iomem *)(unsigned long)it->options[0];
        dev->board_name = "pci20kc";
 
        /* Check PCI-20001 C-2A Carrier Board ID */
        if ((readb(devpriv->ioaddr) & PCI20000_ID) != PCI20000_ID) {
-               printk(KERN_WARNING "comedi%d: ii_pci20kc PCI-20001"
-                      " C-2A Carrier Board at base=0x%p not found !\n",
-                      dev->minor, devpriv->ioaddr);
+               dev_warn(dev->class_dev,
+                        "PCI-20001 C-2A Carrier Board at base=0x%p not found !\n",
+                        devpriv->ioaddr);
                return -EINVAL;
        }
-       printk(KERN_INFO "comedi%d: ii_pci20kc: PCI-20001 C-2A at base=0x%p\n",
-              dev->minor, devpriv->ioaddr);
+       dev_info(dev->class_dev, "PCI-20001 C-2A at base=0x%p\n",
+                devpriv->ioaddr);
 
        for (i = 0; i < PCI20000_MODULES; i++) {
                s = &dev->subdevices[i];
@@ -234,23 +235,21 @@ static int pci20xxx_attach(struct comedi_device *dev,
                            devpriv->ioaddr + (i + 1) * PCI20000_OFFSET;
                        pci20006_init(dev, s, it->options[2 * i + 2],
                                      it->options[2 * i + 3]);
-                       printk(KERN_INFO "comedi%d: "
-                              "ii_pci20kc PCI-20006 module in slot %d\n",
-                              dev->minor, i + 1);
+                       dev_info(dev->class_dev,
+                                "PCI-20006 module in slot %d\n", i + 1);
                        break;
                case PCI20341_ID:
                        sdp->pci20341.iobase =
                            devpriv->ioaddr + (i + 1) * PCI20000_OFFSET;
                        pci20341_init(dev, s, it->options[2 * i + 2],
                                      it->options[2 * i + 3]);
-                       printk(KERN_INFO "comedi%d: "
-                              "ii_pci20kc PCI-20341 module in slot %d\n",
-                              dev->minor, i + 1);
+                       dev_info(dev->class_dev,
+                                "PCI-20341 module in slot %d\n", i + 1);
                        break;
                default:
-                       printk(KERN_WARNING "ii_pci20kc: unknown module "
-                              "code 0x%02x in slot %d: module disabled\n",
-                              id, i); /* XXX this looks like a bug! i + 1 ?? */
+                       dev_warn(dev->class_dev,
+                                "unknown module code 0x%02x in slot %d: module disabled\n",
+                                id, i); /* XXX this looks like a bug! i + 1 ?? */
                        /* fall through */
                case PCI20xxx_EMPTY_ID:
                        s->type = COMEDI_SUBD_UNUSED;
@@ -346,8 +345,7 @@ static int pci20006_insn_write(struct comedi_device *dev,
                writeb(0x00, sdp->iobase + PCI20006_STROBE1);
                break;
        default:
-               printk(KERN_WARNING
-                      " comedi%d: pci20xxx: ao channel Error!\n", dev->minor);
+               dev_warn(dev->class_dev, "ao channel Error!\n");
                return -EINVAL;
        }
 
@@ -462,10 +460,8 @@ static int pci20341_insn_read(struct comedi_device *dev,
                        eoc = readb(sdp->iobase + PCI20341_STATUS_REG);
                }
                if (j >= 100) {
-                       printk(KERN_WARNING
-                              "comedi%d:  pci20xxx: "
-                              "AI interrupt channel %i polling exit !\n",
-                              dev->minor, i);
+                       dev_warn(dev->class_dev,
+                                "AI interrupt channel %i polling exit !\n", i);
                        return -EINVAL;
                }
                lo = readb(sdp->iobase + PCI20341_LDATA);
@@ -541,6 +537,7 @@ static int pci20xxx_dio_insn_bits(struct comedi_device *dev,
                                  struct comedi_subdevice *s,
                                  struct comedi_insn *insn, unsigned int *data)
 {
+       struct pci20xxx_private *devpriv = dev->private;
        unsigned int mask = data[0];
 
        s->state &= ~mask;
@@ -571,6 +568,7 @@ static int pci20xxx_dio_insn_bits(struct comedi_device *dev,
 static void pci20xxx_dio_config(struct comedi_device *dev,
                                struct comedi_subdevice *s)
 {
+       struct pci20xxx_private *devpriv = dev->private;
        unsigned char control_01;
        unsigned char control_23;
        unsigned char buffer;
@@ -627,6 +625,8 @@ static void pci20xxx_dio_config(struct comedi_device *dev,
 #if 0
 static void pci20xxx_do(struct comedi_device *dev, struct comedi_subdevice *s)
 {
+       struct pci20xxx_private *devpriv = dev->private;
+
        /* XXX if the channel is configured for input, does this
           do bad things? */
        /* XXX it would be a good idea to only update the registers
@@ -641,9 +641,10 @@ static void pci20xxx_do(struct comedi_device *dev, struct comedi_subdevice *s)
 static unsigned int pci20xxx_di(struct comedi_device *dev,
                                struct comedi_subdevice *s)
 {
-       /* XXX same note as above */
+       struct pci20xxx_private *devpriv = dev->private;
        unsigned int bits;
 
+       /* XXX same note as above */
        bits = readb(devpriv->ioaddr + PCI20000_DIO_0);
        bits |= readb(devpriv->ioaddr + PCI20000_DIO_1) << 8;
        bits |= readb(devpriv->ioaddr + PCI20000_DIO_2) << 16;