]> Pileus Git - ~andy/linux/commitdiff
staging: comedi: cleanup comedi_alloc_subdevices
authorH Hartley Sweeten <hartleys@visionengravers.com>
Tue, 12 Jun 2012 18:59:55 +0000 (11:59 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Jun 2012 21:44:04 +0000 (14:44 -0700)
Access the individual comedi_subdevices using a pointer instead
of directly accessing as an array. This is how the rest of the
comedi core accesses them.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbott@mev.co.uk>
Cc: Frank Mori Hess <fmhess@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers.c

index ecad2288c9fbf6d0e036717591d4ab092ba6a1ab..6af4a5b302df75de1d66c77c5868eeb0d7249003 100644 (file)
@@ -58,21 +58,24 @@ struct comedi_driver *comedi_drivers;
 
 int comedi_alloc_subdevices(struct comedi_device *dev, int num_subdevices)
 {
+       struct comedi_subdevice *s;
        int i;
 
        if (num_subdevices < 1)
                return -EINVAL;
-       dev->subdevices =
-           kcalloc(num_subdevices, sizeof(struct comedi_subdevice),
-                   GFP_KERNEL);
-       if (!dev->subdevices)
+
+       s = kcalloc(num_subdevices, sizeof(*s), GFP_KERNEL);
+       if (!s)
                return -ENOMEM;
+       dev->subdevices = s;
        dev->n_subdevices = num_subdevices;
+
        for (i = 0; i < num_subdevices; ++i) {
-               dev->subdevices[i].device = dev;
-               dev->subdevices[i].async_dma_dir = DMA_NONE;
-               spin_lock_init(&dev->subdevices[i].spin_lock);
-               dev->subdevices[i].minor = -1;
+               s = dev->subdevices + i;
+               s->device = dev;
+               s->async_dma_dir = DMA_NONE;
+               spin_lock_init(&s->spin_lock);
+               s->minor = -1;
        }
        return 0;
 }