git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
drivers
/
pnp
/
pnpacpi
/
core.c
diff --git
a/drivers/pnp/pnpacpi/core.c
b/drivers/pnp/pnpacpi/core.c
index
9a9352f
..
8655dd2
100644
(file)
--- a/
drivers/pnp/pnpacpi/core.c
+++ b/
drivers/pnp/pnpacpi/core.c
@@
-236,23
+236,34
@@
static acpi_status __init pnpacpi_add_device_handler(acpi_handle handle,
if (!acpi_bus_get_device(handle, &device))
pnpacpi_add_device(device);
if (!acpi_bus_get_device(handle, &device))
pnpacpi_add_device(device);
+ else
+ return AE_CTRL_DEPTH;
return AE_OK;
}
return AE_OK;
}
+int pnpacpi_disabled __initdata;
int __init pnpacpi_init(void)
{
int __init pnpacpi_init(void)
{
- if (acpi_disabled) {
- pnp_info("PnP ACPI:
ACPI disable
");
+ if (acpi_disabled
|| pnpacpi_disabled
) {
+ pnp_info("PnP ACPI:
disabled
");
return 0;
}
pnp_info("PnP ACPI init");
pnp_register_protocol(&pnpacpi_protocol);
return 0;
}
pnp_info("PnP ACPI init");
pnp_register_protocol(&pnpacpi_protocol);
- acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
- ACPI_UINT32_MAX, pnpacpi_add_device_handler,
- NULL, NULL);
+ acpi_get_devices(NULL, pnpacpi_add_device_handler, NULL, NULL);
pnp_info("PnP ACPI: found %d devices", num);
return 0;
}
subsys_initcall(pnpacpi_init);
pnp_info("PnP ACPI: found %d devices", num);
return 0;
}
subsys_initcall(pnpacpi_init);
+static int __init pnpacpi_setup(char *str)
+{
+ if (str == NULL)
+ return 1;
+ if (!strncmp(str, "off", 3))
+ pnpacpi_disabled = 1;
+ return 1;
+}
+__setup("pnpacpi=", pnpacpi_setup);
+
EXPORT_SYMBOL(pnpacpi_protocol);
EXPORT_SYMBOL(pnpacpi_protocol);