aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilton Miller <miltonm@bga.com>2008-07-10 17:29:37 -0400
committerJesse Barnes <jbarnes@virtuousgeek.org>2008-10-20 13:48:34 -0400
commitedbc25caaa492a82e19baa915f1f6b0a0db6554d (patch)
tree967dbd4f8d35fd8532a612fef55691586b831965
parent7d67474e506598fe26e0c262acf02132dc730517 (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.c1
-rw-r--r--drivers/i2c/busses/i2c-viapro.c1
-rw-r--r--drivers/pci/pci-driver.c3
-rw-r--r--drivers/scsi/ipr.c1
-rw-r--r--include/linux/pci.h1
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
418static int __init amd756_init(void) 417static 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
489static int __init i2c_vt596_init(void) 488static 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 {
347struct pci_dynids { 347struct 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/* ---------------------------------------------------------------- */