Re: [RFC PATCH v5 4/8] ACPI, PCI: avoid building pci_slot as module

From: Myron Stowe
Date: Sun Feb 03 2013 - 17:47:48 EST


On Mon, 2013-01-28 at 14:09 -0700, Bjorn Helgaas wrote:
> On Sun, Jan 20, 2013 at 5:01 PM, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
> > On Saturday, January 19, 2013 12:07:42 AM Jiang Liu wrote:
> >> 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@xxxxxxxxxx>
> >
> > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>
> I think we should eventually get rid of acpi_pci_register_driver() and
> do this initialization directly from acpi_pci_root_add(). But
> removing the module option here is a good first step.

Bjorn, Rafael:

If either of you are interested in that still let me know and I can
re-work any or all of the "PCI/ACPI: Remove "pci_root" sub-driver
support" series - https://lkml.org/lkml/2012/12/7/11

Note [PATCH 13/15] was effectively the same as below and continued on
with initializing directly from acpi_pci_root_add() in [PATCH 14/15].
There may have been worthwhile fixes in some of the earlier content such
as [PATCH 11/15] worth re-considering also.

Thanks,
Myron

>
> Rafael, do you want to apply this (and [6/8]) via your tree? If not,
> I can take it.
>
> >> ---
> >> drivers/acpi/Kconfig | 5 +----
> >> drivers/acpi/internal.h | 5 +++++
> >> drivers/acpi/pci_slot.c | 13 +------------
> >> drivers/acpi/scan.c | 1 +
> >> 4 files changed, 8 insertions(+), 16 deletions(-)
> >>
> >> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> >> index 0300bf6..7efd0d0 100644
> >> --- a/drivers/acpi/Kconfig
> >> +++ b/drivers/acpi/Kconfig
> >> @@ -299,7 +299,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
> >> @@ -308,9 +308,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 e050254..7374cfc 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 d22585f..a7d7e77 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 f8a0d0f..cb964ac 100644
> >> --- a/drivers/acpi/scan.c
> >> +++ b/drivers/acpi/scan.c
> >> @@ -1732,6 +1732,7 @@ int __init acpi_scan_init(void)
> >>
> >> acpi_power_init();
> >> acpi_pci_root_init();
> >> + acpi_pci_slot_init();
> >>
> >> /*
> >> * Enumerate devices in the ACPI namespace.
> >>
> > --
> > I speak only for myself.
> > Rafael J. Wysocki, Intel Open Source Technology Center.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/