staging: comedi: remove hardware_device from struct comedi_device_info
authorIan Abbott <abbotti@mev.co.uk>
Thu, 4 Apr 2013 13:59:06 +0000 (14:59 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Apr 2013 21:33:20 +0000 (14:33 -0700)
The `hardware_device` member of `struct comedi_device_info` is only set
to point to a hardware device by the auto-configuration code (specifically
`comedi_alloc_board_minor() with a non-NULL `hardware_device` parameter)
so that it can be found again by the auto-unconfiguration code
(specifically `comedi_release_hardware_device()`).  However, as
`info->device->hw_dev` (where `info` is a pointer to the `struct
comedi_device_info`) is set to the same value as `info->hardware_device`
(by calling `comedi_set_hw_dev()` with the same hardware device pointer)
we can look for that instead, so there is no need for the
`hardware_device` member any more.  Get rid of it.

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

index 0048135..b73d806 100644 (file)
@@ -85,7 +85,6 @@ struct comedi_file_info {
        struct comedi_device *device;
        struct comedi_subdevice *read_subdevice;
        struct comedi_subdevice *write_subdevice;
-       struct device *hardware_device;
 };
 
 static DEFINE_MUTEX(comedi_board_minor_table_lock);
@@ -2368,7 +2367,6 @@ struct comedi_device *comedi_alloc_board_minor(struct device *hardware_device)
                return ERR_PTR(-ENOMEM);
        }
        info->device = dev;
-       info->hardware_device = hardware_device;
        comedi_device_init(dev);
        comedi_set_hw_dev(dev, hardware_device);
        mutex_lock(&dev->mutex);
@@ -2415,7 +2413,7 @@ void comedi_release_hardware_device(struct device *hardware_device)
             minor++) {
                mutex_lock(&comedi_board_minor_table_lock);
                info = comedi_board_minor_table[minor];
-               if (info && info->hardware_device == hardware_device) {
+               if (info && info->device->hw_dev == hardware_device) {
                        comedi_board_minor_table[minor] = NULL;
                        mutex_unlock(&comedi_board_minor_table_lock);
                        comedi_free_board_file_info(info);