staging: comedi: ii_pci20kc: use comedi_alloc_spriv()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 24 Jul 2013 19:08:58 +0000 (12:08 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jul 2013 20:24:11 +0000 (13:24 -0700)
For aesthetic reasons, use the helper function to allocate the
subdevice private data instead of hanging it on the device
private data. The core will free the memory during the detach.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/ii_pci20kc.c

index 9c199a194d2b5c7dbb67d5647e5672e0f6a67813..45d76ed66498851604504b87566481242b023995 100644 (file)
@@ -149,9 +149,7 @@ union pci20xxx_subdev_private {
 };
 
 struct pci20xxx_private {
-
        void __iomem *ioaddr;
-       union pci20xxx_subdev_private subdev_private[PCI20000_MODULES];
 };
 
 #define CHAN (CR_CHAN(it->chanlist[0]))
@@ -222,9 +220,10 @@ static int pci20xxx_attach(struct comedi_device *dev,
 
        for (i = 0; i < PCI20000_MODULES; i++) {
                s = &dev->subdevices[i];
+               sdp = comedi_alloc_spriv(s, sizeof(*sdp));
+               if (!sdp)
+                       return -ENOMEM;
                id = readb(devpriv->ioaddr + (i + 1) * PCI20000_OFFSET);
-               s->private = devpriv->subdev_private + i;
-               sdp = s->private;
                switch (id) {
                case PCI20006_ID:
                        sdp->pci20006.iobase =