|
@@ -44,6 +44,13 @@
|
|
|
|
|
|
ACPI_MODULE_NAME("acpi_memhotplug");
|
|
|
|
|
|
+static const struct acpi_device_id memory_device_ids[] = {
|
|
|
+ {ACPI_MEMORY_DEVICE_HID, 0},
|
|
|
+ {"", 0},
|
|
|
+};
|
|
|
+
|
|
|
+#ifdef CONFIG_ACPI_HOTPLUG_MEMORY
|
|
|
+
|
|
|
/* Memory Device States */
|
|
|
#define MEMORY_INVALID_STATE 0
|
|
|
#define MEMORY_POWER_ON_STATE 1
|
|
@@ -53,11 +60,6 @@ static int acpi_memory_device_add(struct acpi_device *device,
|
|
|
const struct acpi_device_id *not_used);
|
|
|
static void acpi_memory_device_remove(struct acpi_device *device);
|
|
|
|
|
|
-static const struct acpi_device_id memory_device_ids[] = {
|
|
|
- {ACPI_MEMORY_DEVICE_HID, 0},
|
|
|
- {"", 0},
|
|
|
-};
|
|
|
-
|
|
|
static struct acpi_scan_handler memory_device_handler = {
|
|
|
.ids = memory_device_ids,
|
|
|
.attach = acpi_memory_device_add,
|
|
@@ -364,9 +366,11 @@ static bool __initdata acpi_no_memhotplug;
|
|
|
|
|
|
void __init acpi_memory_hotplug_init(void)
|
|
|
{
|
|
|
- if (acpi_no_memhotplug)
|
|
|
+ if (acpi_no_memhotplug) {
|
|
|
+ memory_device_handler.attach = NULL;
|
|
|
+ acpi_scan_add_handler(&memory_device_handler);
|
|
|
return;
|
|
|
-
|
|
|
+ }
|
|
|
acpi_scan_add_handler_with_hotplug(&memory_device_handler, "memory");
|
|
|
}
|
|
|
|
|
@@ -376,3 +380,16 @@ static int __init disable_acpi_memory_hotplug(char *str)
|
|
|
return 1;
|
|
|
}
|
|
|
__setup("acpi_no_memhotplug", disable_acpi_memory_hotplug);
|
|
|
+
|
|
|
+#else
|
|
|
+
|
|
|
+static struct acpi_scan_handler memory_device_handler = {
|
|
|
+ .ids = memory_device_ids,
|
|
|
+};
|
|
|
+
|
|
|
+void __init acpi_memory_hotplug_init(void)
|
|
|
+{
|
|
|
+ acpi_scan_add_handler(&memory_device_handler);
|
|
|
+}
|
|
|
+
|
|
|
+#endif /* CONFIG_ACPI_HOTPLUG_MEMORY */
|