summaryrefslogtreecommitdiffstats
path: root/drivers/pnp
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2012-11-23 21:07:12 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2012-11-23 21:07:12 +0100
commit2905875344f977acd188a2b0f1d163491e91459b (patch)
tree795b1d7cdaa5887d7c70e175330c08957d22c5f5 /drivers/pnp
parenti2c / ACPI: add ACPI enumeration support (diff)
downloadlinux-2905875344f977acd188a2b0f1d163491e91459b.tar.xz
linux-2905875344f977acd188a2b0f1d163491e91459b.zip
ACPI / PNP: skip ACPI device nodes associated with physical nodes already
Make pnpacpi_add_device() ignore ACPI device nodes already associated with struct device objects representing physical devices. In particular, this will prevent PNP device objects from being created for ACPI device nodes already associated with platform devices. This change was originally proposed by Mika Westerberg. [rjw: Modified the subject and changelog.] Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/pnp')
-rw-r--r--drivers/pnp/pnpacpi/core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c
index 26b5d4b18dd7..653d5637a37c 100644
--- a/drivers/pnp/pnpacpi/core.c
+++ b/drivers/pnp/pnpacpi/core.c
@@ -242,6 +242,10 @@ static int __init pnpacpi_add_device(struct acpi_device *device)
char *pnpid;
struct acpi_hardware_id *id;
+ /* Skip devices that are already bound */
+ if (device->physical_node_count)
+ return 0;
+
/*
* If a PnPacpi device is not present , the device
* driver should not be loaded.