Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932123AbWBJOWZ (ORCPT ); Fri, 10 Feb 2006 09:22:25 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932121AbWBJOWW (ORCPT ); Fri, 10 Feb 2006 09:22:22 -0500 Received: from fgwmail7.fujitsu.co.jp ([192.51.44.37]:53649 "EHLO fgwmail7.fujitsu.co.jp") by vger.kernel.org with ESMTP id S932117AbWBJOWM (ORCPT ); Fri, 10 Feb 2006 09:22:12 -0500 Date: Fri, 10 Feb 2006 23:21:41 +0900 From: Yasunori Goto To: "Luck, Tony" , Andi Kleen , "Tolentino, Matthew E" Subject: [RFC/PATCH: 009/010] Memory hotplug for new nodes with pgdat allocation.(Register start func for acpi_memhotplug) Cc: linux-ia64@vger.kernel.org, Linux Kernel ML , x86-64 Discuss , Linux Hotplug Memory Support X-Mailer-Plugin: BkASPil for Becky!2 Ver.2.063 Message-Id: <20060210224641.C542.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: 1921 Lines: 63 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 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/