From patchwork Thu May 21 08:02:53 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Zhao, Yakui" X-Patchwork-Id: 25192 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n4L81ekh017080 for ; Thu, 21 May 2009 08:01:40 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751042AbZEUIBf (ORCPT ); Thu, 21 May 2009 04:01:35 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750924AbZEUIBf (ORCPT ); Thu, 21 May 2009 04:01:35 -0400 Received: from mga09.intel.com ([134.134.136.24]:54075 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750757AbZEUIBe (ORCPT ); Thu, 21 May 2009 04:01:34 -0400 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 21 May 2009 00:51:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.41,226,1241420400"; d="scan'208";a="414465432" Received: from yakui_zhao.sh.intel.com (HELO [10.239.13.58]) ([10.239.13.58]) by orsmga002.jf.intel.com with ESMTP; 21 May 2009 01:09:13 -0700 Subject: [RFC] [PATCH]: ACPI: Rename ACPI processor device bus ID From: yakui_zhao To: linux-acpi@vger.kernel.org Cc: lenb@kernel.org Organization: Intel Open Source Technology Center Date: Thu, 21 May 2009 16:02:53 +0800 Message-Id: <1242892973.8523.53.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.22.1 (2.22.1-2.fc9) Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org On some boxes several processors use the same processor bus id. But they are located in different scope. For example: \_SB.SCK0.CPU0 \_SB.SCK1.CPU0 This follows the ACPI spec. As they use the same bus id, it can't be registered when registering proc I/F. It causes that the ACPI processor driver can't be bound with the processor device. Rename the processor device bus id. And the new bus id will be generated as the following format: CPU+ CPU ID For example: If the cpu ID is 5, then the bus ID will be "CPU5". If the CPU ID is 10, then the bus ID will be "CPUA". Signed-off-by: Zhao Yakui --- drivers/acpi/processor_core.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Index: linux-2.6/drivers/acpi/processor_core.c =================================================================== --- linux-2.6.orig/drivers/acpi/processor_core.c 2009-05-21 14:44:18.000000000 +0800 +++ linux-2.6/drivers/acpi/processor_core.c 2009-05-21 15:55:13.000000000 +0800 @@ -649,7 +649,16 @@ return -ENODEV; } } - + /* + * On some boxes several processors use the same processor bus id. + * But they are located in different scope. For example: + * \_SB.SCK0.CPU0 + * \_SB.SCK1.CPU0 + * Rename the processor device bus id. And the new bus id will be + * generated as the following format: + * CPU+CPU ID. + */ + sprintf(acpi_device_bid(device), "CPU%X", pr->id); ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Processor [%d:%d]\n", pr->id, pr->acpi_id));