From patchwork Tue Mar 24 22:49:43 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bjorn Helgaas X-Patchwork-Id: 14135 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 n2OMoZlr007965 for ; Tue, 24 Mar 2009 22:50:36 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752367AbZCXWtq (ORCPT ); Tue, 24 Mar 2009 18:49:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754532AbZCXWtq (ORCPT ); Tue, 24 Mar 2009 18:49:46 -0400 Received: from g1t0028.austin.hp.com ([15.216.28.35]:35609 "EHLO g1t0028.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753601AbZCXWtp (ORCPT ); Tue, 24 Mar 2009 18:49:45 -0400 Received: from smtp2.fc.hp.com (smtp.fc.hp.com [15.11.136.114]) by g1t0028.austin.hp.com (Postfix) with ESMTP id ECCA91C387; Tue, 24 Mar 2009 22:49:43 +0000 (UTC) Received: from localhost.localdomain (lart.fc.hp.com [15.11.146.31]) by smtp2.fc.hp.com (Postfix) with ESMTP id 1CD302BD52D; Tue, 24 Mar 2009 22:25:59 +0000 (UTC) Received: from bob.kio (localhost [127.0.0.1]) by localhost.localdomain (Postfix) with ESMTP id 9D6D72614B; Tue, 24 Mar 2009 16:49:43 -0600 (MDT) From: Bjorn Helgaas Subject: [PATCH 02/10] ACPI: call acpi_scan_init() explicitly rather than as initcall To: Len Brown Cc: linux-acpi@vger.kernel.org, Li Shaohua , Alexey Starikovskiy , Li Shaohua , Zhao Yakui Date: Tue, 24 Mar 2009 16:49:43 -0600 Message-ID: <20090324224943.1262.55850.stgit@bob.kio> In-Reply-To: <20090324224834.1262.65260.stgit@bob.kio> References: <20090324224834.1262.65260.stgit@bob.kio> User-Agent: StGIT/0.14.3.215.gff3d MIME-Version: 1.0 Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org This patch makes acpi_init() call acpi_scan_init() directly. Previously, both acpi_init() and acpi_scan_init() were subsys_initcalls, and acpi_init() was called first based on the link order from the makefile (bus.o before scan.o). acpi_scan_init() registers the ACPI bus type, creates the root device, and enumerates fixed-feature and namespace devices. All of this must be done after acpi_init(), and it's better to call acpi_scan_init() explicitly rather than rely on the link ordering. Signed-off-by: Bjorn Helgaas --- drivers/acpi/bus.c | 2 ++ drivers/acpi/internal.h | 2 ++ drivers/acpi/scan.c | 9 +-------- 3 files changed, 5 insertions(+), 8 deletions(-) -- 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 diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c index bdeed39..cdd11fd 100644 --- a/drivers/acpi/bus.c +++ b/drivers/acpi/bus.c @@ -878,6 +878,8 @@ static int __init acpi_init(void) * will be disabled in the course of device power transistion. */ dmi_check_system(power_nocheck_dmi_table); + + acpi_scan_init(); return result; } diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h index 4aee4a2..28042c0 100644 --- a/drivers/acpi/internal.h +++ b/drivers/acpi/internal.h @@ -1,5 +1,7 @@ /* For use by Linux/ACPI infrastructure, not drivers */ +int acpi_scan_init(void); + /* -------------------------------------------------------------------------- Power Resource -------------------------------------------------------------------------- */ diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 467e9d0..b7308ef 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -1514,16 +1514,11 @@ static int acpi_bus_scan_fixed(struct acpi_device *root) return result; } - -static int __init acpi_scan_init(void) +int __init acpi_scan_init(void) { int result; struct acpi_bus_ops ops; - - if (acpi_disabled) - return 0; - memset(&ops, 0, sizeof(ops)); ops.acpi_op_add = 1; ops.acpi_op_start = 1; @@ -1556,5 +1551,3 @@ static int __init acpi_scan_init(void) Done: return result; } - -subsys_initcall(acpi_scan_init);