[RFC/PATCH: 009/010] Memory hotplug for new nodes with pgdat allocation.(Register start func for acpi_memhotplug)

From: Yasunori Goto
Date: Fri Feb 10 2006 - 09:20:43 EST



This is a patch to create start function which calls add_memory().
Container driver can call add_memory() by this.

Signed-off-by: Yasunori Goto <y-goto@xxxxxxxxxxxxxx>

Index: pgdat2/drivers/acpi/acpi_memhotplug.c
===================================================================
--- pgdat2.orig/drivers/acpi/acpi_memhotplug.c 2006-02-10 17:24:09.000000000 +0900
+++ pgdat2/drivers/acpi/acpi_memhotplug.c 2006-02-10 17:24:10.000000000 +0900
@@ -57,6 +57,7 @@ MODULE_LICENSE("GPL");

static int acpi_memory_device_add(struct acpi_device *device);
static int acpi_memory_device_remove(struct acpi_device *device, int type);
+static int acpi_memory_device_start (struct acpi_device *device);

static struct acpi_driver acpi_memory_device_driver = {
.name = ACPI_MEMORY_DEVICE_DRIVER_NAME,
@@ -65,6 +66,7 @@ static struct acpi_driver acpi_memory_de
.ops = {
.add = acpi_memory_device_add,
.remove = acpi_memory_device_remove,
+ .start = acpi_memory_device_start,
},
};

@@ -391,6 +393,26 @@ static int acpi_memory_device_remove(str
return_VALUE(0);
}

+static int
+acpi_memory_device_start (struct acpi_device *device)
+{
+ struct acpi_memory_device *mem_device = NULL;
+ int result = 0;
+
+ ACPI_FUNCTION_TRACE("acpi_memory_device_start");
+
+ mem_device = (struct acpi_memory_device *) acpi_driver_data(device);
+
+ if (!acpi_memory_check_device(mem_device)){
+ /* call add_memory func */
+ result = acpi_memory_enable_device(mem_device);
+ if (result)
+ ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
+ "Error in acpi_memory_enable_device\n"));
+ }
+ return_VALUE(result);
+}
+
/*
* Helper function to check for memory device
*/

--
Yasunori Goto


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/