Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964924AbWBQNce (ORCPT ); Fri, 17 Feb 2006 08:32:34 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S964927AbWBQNcB (ORCPT ); Fri, 17 Feb 2006 08:32:01 -0500 Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:22725 "EHLO fgwmail5.fujitsu.co.jp") by vger.kernel.org with ESMTP id S964918AbWBQNad (ORCPT ); Fri, 17 Feb 2006 08:30:33 -0500 Date: Fri, 17 Feb 2006 22:29:48 +0900 From: Yasunori Goto To: Andrew Morton Subject: [PATCH: 011/012] Memory hotplug for new nodes v.2 (Register start func for acpi_memhotplug) Cc: "Luck, Tony" , Andi Kleen , Joel Schopp , "Tolentino, Matthew E" , Dave Hansen , linux-ia64@vger.kernel.org, Linux Kernel ML , x86-64 Discuss X-Mailer-Plugin: BkASPil for Becky!2 Ver.2.063 Message-Id: <20060217214043.407E.Y-GOTO@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.24.02 [ja] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2060 Lines: 66 This is a patch to create start function which calls add_memory(). Container driver can call add_memory() by this. If this is not, even if the node which is defined container device in DSDT is added, the container driver can't call memory hotplug code. Signed-off-by: Yasunori Goto Index: pgdat3/drivers/acpi/acpi_memhotplug.c =================================================================== --- pgdat3.orig/drivers/acpi/acpi_memhotplug.c 2006-02-17 15:58:04.000000000 +0900 +++ pgdat3/drivers/acpi/acpi_memhotplug.c 2006-02-17 16:18:36.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, }, }; @@ -382,6 +384,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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/