Loading drivers/pnp/pnpacpi/core.c +24 −5 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ #include "../base.h" #include "pnpacpi.h" static int num = 0; static int num; /* We need only to blacklist devices that have already an acpi driver that * can't use pnp layer. We don't need to blacklist device that are directly Loading Loading @@ -180,11 +180,24 @@ struct pnp_protocol pnpacpi_protocol = { }; EXPORT_SYMBOL(pnpacpi_protocol); static char *pnpacpi_get_id(struct acpi_device *device) { struct acpi_hardware_id *id; list_for_each_entry(id, &device->pnp.ids, list) { if (ispnpidacpi(id->id)) return id->id; } return NULL; } static int __init pnpacpi_add_device(struct acpi_device *device) { acpi_handle temp = NULL; acpi_status status; struct pnp_dev *dev; char *pnpid; struct acpi_hardware_id *id; /* Loading @@ -192,11 +205,17 @@ static int __init pnpacpi_add_device(struct acpi_device *device) * driver should not be loaded. */ status = acpi_get_handle(device->handle, "_CRS", &temp); if (ACPI_FAILURE(status) || !ispnpidacpi(acpi_device_hid(device)) || is_exclusive_device(device) || (!device->status.present)) if (ACPI_FAILURE(status)) return 0; pnpid = pnpacpi_get_id(device); if (!pnpid) return 0; if (is_exclusive_device(device) || !device->status.present) return 0; dev = pnp_alloc_dev(&pnpacpi_protocol, num, acpi_device_hid(device)); dev = pnp_alloc_dev(&pnpacpi_protocol, num, pnpid); if (!dev) return -ENOMEM; Loading Loading @@ -227,7 +246,7 @@ static int __init pnpacpi_add_device(struct acpi_device *device) pnpacpi_parse_resource_option_data(dev); list_for_each_entry(id, &device->pnp.ids, list) { if (!strcmp(id->id, acpi_device_hid(device))) if (!strcmp(id->id, pnpid)) continue; if (!ispnpidacpi(id->id)) continue; Loading Loading
drivers/pnp/pnpacpi/core.c +24 −5 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ #include "../base.h" #include "pnpacpi.h" static int num = 0; static int num; /* We need only to blacklist devices that have already an acpi driver that * can't use pnp layer. We don't need to blacklist device that are directly Loading Loading @@ -180,11 +180,24 @@ struct pnp_protocol pnpacpi_protocol = { }; EXPORT_SYMBOL(pnpacpi_protocol); static char *pnpacpi_get_id(struct acpi_device *device) { struct acpi_hardware_id *id; list_for_each_entry(id, &device->pnp.ids, list) { if (ispnpidacpi(id->id)) return id->id; } return NULL; } static int __init pnpacpi_add_device(struct acpi_device *device) { acpi_handle temp = NULL; acpi_status status; struct pnp_dev *dev; char *pnpid; struct acpi_hardware_id *id; /* Loading @@ -192,11 +205,17 @@ static int __init pnpacpi_add_device(struct acpi_device *device) * driver should not be loaded. */ status = acpi_get_handle(device->handle, "_CRS", &temp); if (ACPI_FAILURE(status) || !ispnpidacpi(acpi_device_hid(device)) || is_exclusive_device(device) || (!device->status.present)) if (ACPI_FAILURE(status)) return 0; pnpid = pnpacpi_get_id(device); if (!pnpid) return 0; if (is_exclusive_device(device) || !device->status.present) return 0; dev = pnp_alloc_dev(&pnpacpi_protocol, num, acpi_device_hid(device)); dev = pnp_alloc_dev(&pnpacpi_protocol, num, pnpid); if (!dev) return -ENOMEM; Loading Loading @@ -227,7 +246,7 @@ static int __init pnpacpi_add_device(struct acpi_device *device) pnpacpi_parse_resource_option_data(dev); list_for_each_entry(id, &device->pnp.ids, list) { if (!strcmp(id->id, acpi_device_hid(device))) if (!strcmp(id->id, pnpid)) continue; if (!ispnpidacpi(id->id)) continue; Loading