diff options
| author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2009-09-21 15:35:19 -0400 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2009-09-25 15:09:31 -0400 |
| commit | 7f47fa6c2ff15f5e59cdbb350f86faef6829294a (patch) | |
| tree | 02167bcbc5e6fd4eee044798ef142ff604d8eab1 /drivers/pnp | |
| parent | b1fbfb2ae8f2f0e04219218da6f52f7313466899 (diff) | |
ACPI: maintain a single list of _HID and _CID IDs
There's no need to treat _HID and _CID differently. Keeping them in
a single list makes code that uses the IDs a little simpler because it
can just traverse the list rather than checking "do we have a HID?",
"do we have any CIDs?"
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Reviewed-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/pnp')
| -rw-r--r-- | drivers/pnp/pnpacpi/core.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c index ff963d4dab46..3a4478f1fc72 100644 --- a/drivers/pnp/pnpacpi/core.c +++ b/drivers/pnp/pnpacpi/core.c | |||
| @@ -153,6 +153,7 @@ static int __init pnpacpi_add_device(struct acpi_device *device) | |||
| 153 | acpi_handle temp = NULL; | 153 | acpi_handle temp = NULL; |
| 154 | acpi_status status; | 154 | acpi_status status; |
| 155 | struct pnp_dev *dev; | 155 | struct pnp_dev *dev; |
| 156 | struct acpi_hardware_id *id; | ||
| 156 | 157 | ||
| 157 | /* | 158 | /* |
| 158 | * If a PnPacpi device is not present , the device | 159 | * If a PnPacpi device is not present , the device |
| @@ -193,15 +194,12 @@ static int __init pnpacpi_add_device(struct acpi_device *device) | |||
| 193 | if (dev->capabilities & PNP_CONFIGURABLE) | 194 | if (dev->capabilities & PNP_CONFIGURABLE) |
| 194 | pnpacpi_parse_resource_option_data(dev); | 195 | pnpacpi_parse_resource_option_data(dev); |
| 195 | 196 | ||
| 196 | if (device->flags.compatible_ids) { | 197 | list_for_each_entry(id, &device->pnp.ids, list) { |
| 197 | struct acpica_device_id_list *cid_list = device->pnp.cid_list; | 198 | if (!strcmp(id->id, acpi_device_hid(device))) |
| 198 | int i; | 199 | continue; |
| 199 | 200 | if (!ispnpidacpi(id->id)) | |
| 200 | for (i = 0; i < cid_list->count; i++) { | 201 | continue; |
| 201 | if (!ispnpidacpi(cid_list->ids[i].string)) | 202 | pnp_add_id(dev, id->id); |
| 202 | continue; | ||
| 203 | pnp_add_id(dev, cid_list->ids[i].string); | ||
| 204 | } | ||
| 205 | } | 203 | } |
| 206 | 204 | ||
| 207 | /* clear out the damaged flags */ | 205 | /* clear out the damaged flags */ |
