Browse Source

staging: comedi: remove hardware_device from struct comedi_device_info

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>
Ian Abbott 12 years ago
parent
commit
0918e595ae
1 changed files with 1 additions and 3 deletions
  1. 1 3
      drivers/staging/comedi/comedi_fops.c

+ 1 - 3
drivers/staging/comedi/comedi_fops.c

@@ -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);