diff options
author | Milton Miller <miltonm@bga.com> | 2008-07-10 17:29:37 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-10-20 13:48:34 -0400 |
commit | edbc25caaa492a82e19baa915f1f6b0a0db6554d (patch) | |
tree | 967dbd4f8d35fd8532a612fef55691586b831965 | |
parent | 7d67474e506598fe26e0c262acf02132dc730517 (diff) |
PCI: remove dynids.use_driver_data
The driver flag dynids.use_driver_data is almost consistently not set,
and causes more problems than it solves. It was initially intended as a
flag to indicate whether a driver's usage of driver_data had been
carefully inspected and was ready for values from userspace. That audit
was never done, so most drivers just get a 0 for driver_data when new
IDs are added from userspace via sysfs. So remove the flag, allowing
drivers to see the data directly (a followon patch validates the passed
driver_data value against what the drivers expect).
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
-rw-r--r-- | drivers/i2c/busses/i2c-amd756.c | 1 | ||||
-rw-r--r-- | drivers/i2c/busses/i2c-viapro.c | 1 | ||||
-rw-r--r-- | drivers/pci/pci-driver.c | 3 | ||||
-rw-r--r-- | drivers/scsi/ipr.c | 1 | ||||
-rw-r--r-- | include/linux/pci.h | 1 |
5 files changed, 1 insertions, 6 deletions
diff --git a/drivers/i2c/busses/i2c-amd756.c b/drivers/i2c/busses/i2c-amd756.c index 1ea39254dac6..a3542b053c8e 100644 --- a/drivers/i2c/busses/i2c-amd756.c +++ b/drivers/i2c/busses/i2c-amd756.c | |||
@@ -412,7 +412,6 @@ static struct pci_driver amd756_driver = { | |||
412 | .id_table = amd756_ids, | 412 | .id_table = amd756_ids, |
413 | .probe = amd756_probe, | 413 | .probe = amd756_probe, |
414 | .remove = __devexit_p(amd756_remove), | 414 | .remove = __devexit_p(amd756_remove), |
415 | .dynids.use_driver_data = 1, | ||
416 | }; | 415 | }; |
417 | 416 | ||
418 | static int __init amd756_init(void) | 417 | static int __init amd756_init(void) |
diff --git a/drivers/i2c/busses/i2c-viapro.c b/drivers/i2c/busses/i2c-viapro.c index 73dc52e114eb..2324780484c0 100644 --- a/drivers/i2c/busses/i2c-viapro.c +++ b/drivers/i2c/busses/i2c-viapro.c | |||
@@ -483,7 +483,6 @@ static struct pci_driver vt596_driver = { | |||
483 | .name = "vt596_smbus", | 483 | .name = "vt596_smbus", |
484 | .id_table = vt596_ids, | 484 | .id_table = vt596_ids, |
485 | .probe = vt596_probe, | 485 | .probe = vt596_probe, |
486 | .dynids.use_driver_data = 1, | ||
487 | }; | 486 | }; |
488 | 487 | ||
489 | static int __init i2c_vt596_init(void) | 488 | static int __init i2c_vt596_init(void) |
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index a13f53486114..4940a53c56a3 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c | |||
@@ -65,8 +65,7 @@ store_new_id(struct device_driver *driver, const char *buf, size_t count) | |||
65 | dynid->id.subdevice = subdevice; | 65 | dynid->id.subdevice = subdevice; |
66 | dynid->id.class = class; | 66 | dynid->id.class = class; |
67 | dynid->id.class_mask = class_mask; | 67 | dynid->id.class_mask = class_mask; |
68 | dynid->id.driver_data = pdrv->dynids.use_driver_data ? | 68 | dynid->id.driver_data = driver_data; |
69 | driver_data : 0UL; | ||
70 | 69 | ||
71 | spin_lock(&pdrv->dynids.lock); | 70 | spin_lock(&pdrv->dynids.lock); |
72 | list_add_tail(&dynid->node, &pdrv->dynids.list); | 71 | list_add_tail(&dynid->node, &pdrv->dynids.list); |
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index d30eb7ba018e..098739deb02e 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c | |||
@@ -7859,7 +7859,6 @@ static struct pci_driver ipr_driver = { | |||
7859 | .remove = ipr_remove, | 7859 | .remove = ipr_remove, |
7860 | .shutdown = ipr_shutdown, | 7860 | .shutdown = ipr_shutdown, |
7861 | .err_handler = &ipr_err_handler, | 7861 | .err_handler = &ipr_err_handler, |
7862 | .dynids.use_driver_data = 1 | ||
7863 | }; | 7862 | }; |
7864 | 7863 | ||
7865 | /** | 7864 | /** |
diff --git a/include/linux/pci.h b/include/linux/pci.h index acf8f24037cd..c989f58d09bf 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -347,7 +347,6 @@ struct pci_bus_region { | |||
347 | struct pci_dynids { | 347 | struct pci_dynids { |
348 | spinlock_t lock; /* protects list, index */ | 348 | spinlock_t lock; /* protects list, index */ |
349 | struct list_head list; /* for IDs added at runtime */ | 349 | struct list_head list; /* for IDs added at runtime */ |
350 | unsigned int use_driver_data:1; /* pci_device_id->driver_data is used */ | ||
351 | }; | 350 | }; |
352 | 351 | ||
353 | /* ---------------------------------------------------------------- */ | 352 | /* ---------------------------------------------------------------- */ |