summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJiang Liu <liuj97@gmail.com>2013-01-18 20:07:42 +0400
committerBjorn Helgaas <bhelgaas@google.com>2013-02-15 22:35:05 +0400
commitab1a2e038ff2336502e95ec6492c0364a9fc70d0 (patch)
treef69e59b53ed0b01eb4bc04c78ca5e38d2d5919ac /drivers
parenta2766602ac6885f9514abd97821984cd152cdad3 (diff)
downloadlinux-ab1a2e038ff2336502e95ec6492c0364a9fc70d0.tar.xz
ACPI / PCI: Make pci_slot built-in only, not a module
As discussed in thread at https://patchwork.kernel.org/patch/1946851/, there's no value in supporting CONFIG_ACPI_PCI_SLOT=m any more. So change Kconfig and code to only support building pci_slot as built-in driver. Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/Kconfig5
-rw-r--r--drivers/acpi/internal.h5
-rw-r--r--drivers/acpi/pci_slot.c13
-rw-r--r--drivers/acpi/scan.c1
4 files changed, 8 insertions, 16 deletions
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index 38c5078da11d..27fde5e8d31a 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -308,7 +308,7 @@ config ACPI_DEBUG_FUNC_TRACE
is about half of the penalty and is rarely useful.
config ACPI_PCI_SLOT
- tristate "PCI slot detection driver"
+ bool "PCI slot detection driver"
depends on SYSFS
default n
help
@@ -317,9 +317,6 @@ config ACPI_PCI_SLOT
i.e., segment/bus/device/function tuples, with physical slots in
the system. If you are unsure, say N.
- To compile this driver as a module, choose M here:
- the module will be called pci_slot.
-
config X86_PM_TIMER
bool "Power Management Timer Support" if EXPERT
depends on X86
diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h
index e050254ae143..7374cfc5917a 100644
--- a/drivers/acpi/internal.h
+++ b/drivers/acpi/internal.h
@@ -67,6 +67,11 @@ struct acpi_ec {
extern struct acpi_ec *first_ec;
+#ifdef CONFIG_ACPI_PCI_SLOT
+void acpi_pci_slot_init(void);
+#else
+static inline void acpi_pci_slot_init(void) { }
+#endif
int acpi_pci_root_init(void);
int acpi_ec_init(void);
int acpi_ec_ecdt_probe(void);
diff --git a/drivers/acpi/pci_slot.c b/drivers/acpi/pci_slot.c
index d22585f21aeb..a7d7e7710f9e 100644
--- a/drivers/acpi/pci_slot.c
+++ b/drivers/acpi/pci_slot.c
@@ -330,19 +330,8 @@ static struct dmi_system_id acpi_pci_slot_dmi_table[] __initdata = {
{}
};
-static int __init
-acpi_pci_slot_init(void)
+void __init acpi_pci_slot_init(void)
{
dmi_check_system(acpi_pci_slot_dmi_table);
acpi_pci_register_driver(&acpi_pci_slot_driver);
- return 0;
}
-
-static void __exit
-acpi_pci_slot_exit(void)
-{
- acpi_pci_unregister_driver(&acpi_pci_slot_driver);
-}
-
-module_init(acpi_pci_slot_init);
-module_exit(acpi_pci_slot_exit);
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 7c43bdc36abc..236e476b09c9 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -1687,6 +1687,7 @@ int __init acpi_scan_init(void)
acpi_power_init();
acpi_pci_root_init();
+ acpi_pci_slot_init();
/*
* Enumerate devices in the ACPI namespace.