summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/scan.c
diff options
context:
space:
mode:
authorRafael J. Wysocki2013-06-16 00:36:41 +0200
committerRafael J. Wysocki2013-06-20 01:25:19 +0200
commit24071f472d813fccacc1ef7356b1f41422a1b968 (patch)
treeecff2a9d976919b434a2a410d03317a1b8e0ea3a /drivers/acpi/scan.c
parentACPI / ia64 / sba_iommu: Use ACPI scan handler for device discovery (diff)
downloadkernel-qcow2-linux-24071f472d813fccacc1ef7356b1f41422a1b968.tar.gz
kernel-qcow2-linux-24071f472d813fccacc1ef7356b1f41422a1b968.tar.xz
kernel-qcow2-linux-24071f472d813fccacc1ef7356b1f41422a1b968.zip
ACPI / scan: Do not bind ACPI drivers to objects with scan handlers
ACPI drivers must not be bound to device objects having scan handlers attatched to them, so make acpi_device_probe() fail with -EINVAL if the device object being probed has an ACPI scan handler. After this change the analogous check introduced into the ACPI video driver by commit 8c9b7a7 (ACPI / video: Do not bind to device objects with a scan handler) is not necessary any more and may be dropped, so drop it. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Tony Luck <tony.luck@gmail.com> Acked-by: Toshi Kani <toshi.kani@hp.com>
Diffstat (limited to 'drivers/acpi/scan.c')
-rw-r--r--drivers/acpi/scan.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 4eeea2262454..54529424a0a5 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -822,6 +822,9 @@ static int acpi_device_probe(struct device *dev)
struct acpi_driver *acpi_drv = to_acpi_driver(dev->driver);
int ret;
+ if (acpi_dev->handler)
+ return -EINVAL;
+
if (!acpi_drv->ops.add)
return -ENOSYS;