diff options
Diffstat (limited to 'drivers/pnp')
-rw-r--r-- | drivers/pnp/driver.c | 10 | ||||
-rw-r--r-- | drivers/pnp/pnpacpi/core.c | 6 |
2 files changed, 13 insertions, 3 deletions
diff --git a/drivers/pnp/driver.c b/drivers/pnp/driver.c index 527ee764c93f..cd11b113494f 100644 --- a/drivers/pnp/driver.c +++ b/drivers/pnp/driver.c | |||
@@ -135,6 +135,15 @@ static int pnp_device_remove(struct device *dev) | |||
135 | return 0; | 135 | return 0; |
136 | } | 136 | } |
137 | 137 | ||
138 | static void pnp_device_shutdown(struct device *dev) | ||
139 | { | ||
140 | struct pnp_dev *pnp_dev = to_pnp_dev(dev); | ||
141 | struct pnp_driver *drv = pnp_dev->driver; | ||
142 | |||
143 | if (drv && drv->shutdown) | ||
144 | drv->shutdown(pnp_dev); | ||
145 | } | ||
146 | |||
138 | static int pnp_bus_match(struct device *dev, struct device_driver *drv) | 147 | static int pnp_bus_match(struct device *dev, struct device_driver *drv) |
139 | { | 148 | { |
140 | struct pnp_dev *pnp_dev = to_pnp_dev(dev); | 149 | struct pnp_dev *pnp_dev = to_pnp_dev(dev); |
@@ -203,6 +212,7 @@ struct bus_type pnp_bus_type = { | |||
203 | .match = pnp_bus_match, | 212 | .match = pnp_bus_match, |
204 | .probe = pnp_device_probe, | 213 | .probe = pnp_device_probe, |
205 | .remove = pnp_device_remove, | 214 | .remove = pnp_device_remove, |
215 | .shutdown = pnp_device_shutdown, | ||
206 | .suspend = pnp_bus_suspend, | 216 | .suspend = pnp_bus_suspend, |
207 | .resume = pnp_bus_resume, | 217 | .resume = pnp_bus_resume, |
208 | .dev_attrs = pnp_interface_attrs, | 218 | .dev_attrs = pnp_interface_attrs, |
diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c index 9496494f340e..c07fdb94d665 100644 --- a/drivers/pnp/pnpacpi/core.c +++ b/drivers/pnp/pnpacpi/core.c | |||
@@ -194,13 +194,13 @@ static int __init pnpacpi_add_device(struct acpi_device *device) | |||
194 | pnpacpi_parse_resource_option_data(dev); | 194 | pnpacpi_parse_resource_option_data(dev); |
195 | 195 | ||
196 | if (device->flags.compatible_ids) { | 196 | if (device->flags.compatible_ids) { |
197 | struct acpi_compatible_id_list *cid_list = device->pnp.cid_list; | 197 | struct acpica_device_id_list *cid_list = device->pnp.cid_list; |
198 | int i; | 198 | int i; |
199 | 199 | ||
200 | for (i = 0; i < cid_list->count; i++) { | 200 | for (i = 0; i < cid_list->count; i++) { |
201 | if (!ispnpidacpi(cid_list->id[i].value)) | 201 | if (!ispnpidacpi(cid_list->ids[i].string)) |
202 | continue; | 202 | continue; |
203 | pnp_add_id(dev, cid_list->id[i].value); | 203 | pnp_add_id(dev, cid_list->ids[i].string); |
204 | } | 204 | } |
205 | } | 205 | } |
206 | 206 | ||