PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set
authorSinan Kaya <okaya@kernel.org>
Wed, 19 Dec 2018 22:46:56 +0000 (22:46 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 20 Dec 2018 09:19:49 +0000 (10:19 +0100)
We are compiling PCI code today for systems with ACPI and no PCI
device present. Remove the useless code and reduce the tight
dependency.

Signed-off-by: Sinan Kaya <okaya@kernel.org>
Acked-by: Bjorn Helgaas <bhelgaas@google.com> # PCI parts
Acked-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
arch/x86/include/asm/pci_x86.h
drivers/acpi/Kconfig
drivers/acpi/Makefile
drivers/acpi/internal.h
drivers/pci/Makefile
include/acpi/acpi_drivers.h
include/linux/acpi.h
include/linux/pci.h

index 959d618..73bb404 100644 (file)
@@ -121,7 +121,14 @@ extern void __init dmi_check_pciprobe(void);
 extern void __init dmi_check_skip_isa_align(void);
 
 /* some common used subsys_initcalls */
+#ifdef CONFIG_PCI
 extern int __init pci_acpi_init(void);
+#else
+static inline int  __init pci_acpi_init(void)
+{
+       return -EINVAL;
+}
+#endif
 extern void __init pcibios_irq_init(void);
 extern int __init pcibios_init(void);
 extern int pci_legacy_init(void);
index 7cea769..a0abcb3 100644 (file)
@@ -9,7 +9,6 @@ config ARCH_SUPPORTS_ACPI
 menuconfig ACPI
        bool "ACPI (Advanced Configuration and Power Interface) Support"
        depends on ARCH_SUPPORTS_ACPI
-       depends on PCI
        select PNP
        default y if X86
        help
index edc0393..7c6afc1 100644 (file)
@@ -39,7 +39,7 @@ acpi-y                                += processor_core.o
 acpi-$(CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC) += processor_pdc.o
 acpi-y                         += ec.o
 acpi-$(CONFIG_ACPI_DOCK)       += dock.o
-acpi-y                         += pci_root.o pci_link.o pci_irq.o
+acpi-$(CONFIG_PCI)             += pci_root.o pci_link.o pci_irq.o
 obj-$(CONFIG_ACPI_MCFG)                += pci_mcfg.o
 acpi-y                         += acpi_lpss.o acpi_apd.o
 acpi-y                         += acpi_platform.o
index 530a3f6..b7060da 100644 (file)
@@ -25,8 +25,13 @@ int acpi_osi_init(void);
 acpi_status acpi_os_initialize1(void);
 void init_acpi_device_notify(void);
 int acpi_scan_init(void);
+#ifdef CONFIG_PCI
 void acpi_pci_root_init(void);
 void acpi_pci_link_init(void);
+#else
+static inline void acpi_pci_root_init(void) {}
+static inline void acpi_pci_link_init(void) {}
+#endif
 void acpi_processor_init(void);
 void acpi_platform_init(void);
 void acpi_pnp_init(void);
index f2bda77..657d642 100644 (file)
@@ -11,6 +11,7 @@ ifdef CONFIG_PCI
 obj-$(CONFIG_PROC_FS)          += proc.o
 obj-$(CONFIG_SYSFS)            += slot.o
 obj-$(CONFIG_OF)               += of.o
+obj-$(CONFIG_ACPI)             += pci-acpi.o
 endif
 
 obj-$(CONFIG_PCI_QUIRKS)       += quirks.o
@@ -20,7 +21,6 @@ obj-$(CONFIG_PCI_MSI)         += msi.o
 obj-$(CONFIG_PCI_ATS)          += ats.o
 obj-$(CONFIG_PCI_IOV)          += iov.o
 obj-$(CONFIG_PCI_BRIDGE_EMUL)  += pci-bridge-emul.o
-obj-$(CONFIG_ACPI)             += pci-acpi.o
 obj-$(CONFIG_PCI_LABEL)                += pci-label.o
 obj-$(CONFIG_X86_INTEL_MID)    += pci-mid.o
 obj-$(CONFIG_PCI_SYSCALL)      += syscall.o
index 1449975..de1804a 100644 (file)
@@ -88,7 +88,14 @@ int acpi_pci_link_free_irq(acpi_handle handle);
 
 struct pci_bus;
 
+#ifdef CONFIG_PCI
 struct pci_dev *acpi_get_pci_dev(acpi_handle);
+#else
+static inline struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
+{
+       return NULL;
+}
+#endif
 
 /* Arch-defined function to add a bus to the system */
 
index ed80f14..eb1fdf4 100644 (file)
@@ -340,7 +340,14 @@ struct pci_dev;
 int acpi_pci_irq_enable (struct pci_dev *dev);
 void acpi_penalize_isa_irq(int irq, int active);
 bool acpi_isa_irq_available(int irq);
+#ifdef CONFIG_PCI
 void acpi_penalize_sci_irq(int irq, int trigger, int polarity);
+#else
+static inline void acpi_penalize_sci_irq(int irq, int trigger,
+                                       int polarity)
+{
+}
+#endif
 void acpi_pci_irq_disable (struct pci_dev *dev);
 
 extern int ec_read(u8 addr, u8 *val);
index 11c71c4..51a5a52 100644 (file)
@@ -1960,7 +1960,11 @@ int pcibios_set_pcie_reset_state(struct pci_dev *dev,
                                 enum pcie_reset_state state);
 int pcibios_add_device(struct pci_dev *dev);
 void pcibios_release_device(struct pci_dev *dev);
+#ifdef CONFIG_PCI
 void pcibios_penalize_isa_irq(int irq, int active);
+#else
+static inline void pcibios_penalize_isa_irq(int irq, int active) {}
+#endif
 int pcibios_alloc_irq(struct pci_dev *dev);
 void pcibios_free_irq(struct pci_dev *dev);
 resource_size_t pcibios_default_alignment(void);