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>
This commit is contained in:
Ian Abbott 2013-04-04 14:59:06 +01:00 committed by Greg Kroah-Hartman
parent ea1cc3973a
commit 0918e595ae

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