public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
To: Len Brown <lenb@kernel.org>
Cc: linux-acpi@vger.kernel.org, Li Shaohua <shaohua.li@intel.com>,
	Alexey Starikovskiy <astarikovskiy@suse.de>Li Shaohua
	<shaohua.li@intel.com>, Zhao Yakui <yakui.zhao@intel.com>
Subject: [PATCH 02/10] ACPI: call acpi_scan_init() explicitly rather than as initcall
Date: Tue, 24 Mar 2009 16:49:43 -0600	[thread overview]
Message-ID: <20090324224943.1262.55850.stgit@bob.kio> (raw)
In-Reply-To: <20090324224834.1262.65260.stgit@bob.kio>

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 <bjorn.helgaas@hp.com>
---
 drivers/acpi/bus.c      |    2 ++
 drivers/acpi/internal.h |    2 ++
 drivers/acpi/scan.c     |    9 +--------
 3 files changed, 5 insertions(+), 8 deletions(-)

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);


  parent reply	other threads:[~2009-03-24 22:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-24 22:49 [PATCH 00/10] ACPI: remove several initcalls Bjorn Helgaas
2009-03-24 22:49 ` [PATCH 01/10] ACPI: skip DMI power state check when ACPI disabled Bjorn Helgaas
2009-03-24 22:49 ` Bjorn Helgaas [this message]
2009-03-24 22:49 ` [PATCH 03/10] ACPI: call acpi_ec_init() explicitly rather than as initcall Bjorn Helgaas
2009-03-24 22:49 ` [PATCH 04/10] ACPI: call acpi_power_init() " Bjorn Helgaas
2009-03-24 22:49 ` [PATCH 05/10] ACPI: call acpi_system_init() " Bjorn Helgaas
2009-03-24 22:50 ` [PATCH 06/10] ACPI: call acpi_debug_init() " Bjorn Helgaas
2009-03-24 23:08   ` Yinghai Lu
2009-03-24 23:15     ` Bjorn Helgaas
2009-03-24 23:20       ` Yinghai Lu
2009-03-25 14:53         ` Bjorn Helgaas
2009-03-25 19:29           ` Yinghai Lu
2009-03-25 22:47             ` Bjorn Helgaas
2009-03-24 22:50 ` [PATCH 07/10] ACPI: call init_acpi_device_notify() " Bjorn Helgaas
2009-03-24 22:50 ` [PATCH 08/10] ACPI: call acpi_sleep_proc_init() " Bjorn Helgaas
2009-03-24 22:50 ` [PATCH 09/10] ACPI: call acpi_wakeup_device_init() " Bjorn Helgaas
2009-03-24 22:50 ` [PATCH 10/10] ACPI: tidy up makefile Bjorn Helgaas
2009-03-27 16:57 ` [PATCH 00/10] ACPI: remove several initcalls Len Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090324224943.1262.55850.stgit@bob.kio \
    --to=bjorn.helgaas@hp.com \
    --cc=astarikovskiy@suse.de \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=shaohua.li@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox