summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-06-16 00:36:41 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-06-20 01:25:19 +0200
commit24071f472d813fccacc1ef7356b1f41422a1b968 (patch)
treeecff2a9d976919b434a2a410d03317a1b8e0ea3a
parent66345d5f79fcfa0214f5d98763643d4ee8e6965d (diff)
downloadlinux-24071f472d813fccacc1ef7356b1f41422a1b968.tar.bz2
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>
-rw-r--r--drivers/acpi/scan.c3
-rw-r--r--drivers/acpi/video.c3
2 files changed, 3 insertions, 3 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;
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 440eadf2d32c..5d7075d25700 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -1722,9 +1722,6 @@ static int acpi_video_bus_add(struct acpi_device *device)
int error;
acpi_status status;
- if (device->handler)
- return -EINVAL;
-
status = acpi_walk_namespace(ACPI_TYPE_DEVICE,
device->parent->handle, 1,
acpi_video_bus_match, NULL,