mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
ACPI fixes for 5.0-rc3
- Restore the ACPI initialization ordering changed implicitly by the
module-level AML handling rework during the 4.17 development cycle
that caused the EC address space handler based on information from
ECDT to be set up before loading AML definition blocks, making it
effectively not accessible by AML on some systems that don't work
as expected any more (Rafael Wysocki).
- Add direct dependencies on PCI to Kconfig in multiple places for
code that depends on both ACPI and PCI, but the PCI dependency
was implicitly satisfied by the ACPI dependency before, to prevent
invalid configurations from being created, for example by
randconfig (Sinan Kaya).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJcQa4DAAoJEILEb/54YlRxpIgQAIs35RTfUtGZHm4ripw6fOli
6NAK9NaBGcJ6OEPUkD+O3dqCtMU+dZapv3qLxqs5q+VTpJUPWKmV1QJTkaeyiuJ/
BiY0Ftkg/QRDXVV1jlMSSxWadDKsuK/B+QbWFH2JRXJMtS1659XMW1pTPoYGfdt4
Q8VUF5ITa7uN6uZMEsCFWAztDFlmMff2w+YO3Lr0gUNLrTFmo+aQgJHY3PGgsNWj
Ev0JF+IhRYXerSGDQOiCh8VHQfa1scockUbHyYuUxiWVbB83OD1pODPAX2St9dTl
dW/agYDzAGEE9DItLNdX3UBWeWj2qRfzWeiDrBa80C5CbRD6e7GoDW+tM4xVQdkn
kXns9xCeXNQZOwJO/KM5G6u8zLs+oehRsBdz5vi/+DaCv9yuhGGdHAIU3Tj1qWwr
IIFrZf2mfpS2WSjSoHP93l7S5l4dSu8hmGyvOfcjevkFA9qVWcieOlNpvoP80bpl
ctSRYCaLLxXEvLvv9dNUVsYwuLiO8fccSSnCf/SzMdyeAiHc2yPY+pX5jeGn3b0g
w5SMW/OkMmWPWoanBnx0OEg8K+nlD+0qhF2Yn0+wKHRaSKgj/wU7H5+NmrXU4gxn
LaPYOCPmij7V7Sexxxty0zfEPLcvig4cMtApMZar3lNtyIr6q6i4FscTk+CrUNL/
/Kl2vkiHIHJNW6+oDuBP
=t7iI
-----END PGP SIGNATURE-----
Merge tag 'acpi-5.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI fixes from Rafael Wysocki:
"These fix an ACPI initialization ordering issue introduced in the 4.17
time frame and causing functional problems to appear on multiple
systems and fix some fallout of the recent change to enable building
kernels with ACPI support and without PCI.
Specifics:
- Restore the ACPI initialization ordering changed implicitly by the
module-level AML handling rework during the 4.17 development cycle
that caused the EC address space handler based on information from
ECDT to be set up before loading AML definition blocks, making it
effectively not accessible by AML on some systems that don't work
as expected any more (Rafael Wysocki).
- Add direct dependencies on PCI to Kconfig in multiple places for
code that depends on both ACPI and PCI, but the PCI dependency was
implicitly satisfied by the ACPI dependency before, to prevent
invalid configurations from being created, for example by
randconfig (Sinan Kaya)"
* tag 'acpi-5.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPI: EC: Look for ECDT EC after calling acpi_load_tables()
drivers: thermal: int340x_thermal: Make PCI dependency explicit
x86/intel/lpss: Make PCI dependency explicit
platform/x86: apple-gmux: Make PCI dependency explicit
platform/x86: intel_pmc: Make PCI dependency explicit
platform/x86: intel_ips: make PCI dependency explicit
vga-switcheroo: make PCI dependency explicit
ata: pata_acpi: Make PCI dependency explicit
ACPI / LPSS: Make PCI dependency explicit
This commit is contained in:
commit
6e434bf2e3
|
|
@ -617,7 +617,7 @@ config X86_INTEL_QUARK
|
|||
|
||||
config X86_INTEL_LPSS
|
||||
bool "Intel Low Power Subsystem Support"
|
||||
depends on X86 && ACPI
|
||||
depends on X86 && ACPI && PCI
|
||||
select COMMON_CLK
|
||||
select PINCTRL
|
||||
select IOSF_MBI
|
||||
|
|
|
|||
|
|
@ -41,7 +41,8 @@ acpi-y += ec.o
|
|||
acpi-$(CONFIG_ACPI_DOCK) += dock.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-$(CONFIG_PCI) += acpi_lpss.o
|
||||
acpi-y += acpi_apd.o
|
||||
acpi-y += acpi_platform.o
|
||||
acpi-y += acpi_pnp.o
|
||||
acpi-$(CONFIG_ARM_AMBA) += acpi_amba.o
|
||||
|
|
|
|||
|
|
@ -1054,18 +1054,6 @@ void __init acpi_early_init(void)
|
|||
goto error0;
|
||||
}
|
||||
|
||||
/*
|
||||
* ACPI 2.0 requires the EC driver to be loaded and work before
|
||||
* the EC device is found in the namespace (i.e. before
|
||||
* acpi_load_tables() is called).
|
||||
*
|
||||
* This is accomplished by looking for the ECDT table, and getting
|
||||
* the EC parameters out of that.
|
||||
*
|
||||
* Ignore the result. Not having an ECDT is not fatal.
|
||||
*/
|
||||
status = acpi_ec_ecdt_probe();
|
||||
|
||||
#ifdef CONFIG_X86
|
||||
if (!acpi_ioapic) {
|
||||
/* compatible (0) means level (3) */
|
||||
|
|
@ -1142,6 +1130,18 @@ static int __init acpi_bus_init(void)
|
|||
goto error1;
|
||||
}
|
||||
|
||||
/*
|
||||
* ACPI 2.0 requires the EC driver to be loaded and work before the EC
|
||||
* device is found in the namespace.
|
||||
*
|
||||
* This is accomplished by looking for the ECDT table and getting the EC
|
||||
* parameters out of that.
|
||||
*
|
||||
* Do that before calling acpi_initialize_objects() which may trigger EC
|
||||
* address space accesses.
|
||||
*/
|
||||
acpi_ec_ecdt_probe();
|
||||
|
||||
status = acpi_enable_subsystem(ACPI_NO_ACPI_ENABLE);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
printk(KERN_ERR PREFIX
|
||||
|
|
|
|||
|
|
@ -81,7 +81,11 @@ void acpi_debugfs_init(void);
|
|||
#else
|
||||
static inline void acpi_debugfs_init(void) { return; }
|
||||
#endif
|
||||
#ifdef CONFIG_PCI
|
||||
void acpi_lpss_init(void);
|
||||
#else
|
||||
static inline void acpi_lpss_init(void) {}
|
||||
#endif
|
||||
|
||||
void acpi_apd_init(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -1091,7 +1091,7 @@ comment "Generic fallback / legacy drivers"
|
|||
|
||||
config PATA_ACPI
|
||||
tristate "ACPI firmware driver for PATA"
|
||||
depends on ATA_ACPI && ATA_BMDMA
|
||||
depends on ATA_ACPI && ATA_BMDMA && PCI
|
||||
help
|
||||
This option enables an ACPI method driver which drives
|
||||
motherboard PATA controller interfaces through the ACPI
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ config VGA_SWITCHEROO
|
|||
bool "Laptop Hybrid Graphics - GPU switching support"
|
||||
depends on X86
|
||||
depends on ACPI
|
||||
depends on PCI
|
||||
select VGA_ARB
|
||||
help
|
||||
Many laptops released in 2008/9/10 have two GPUs with a multiplexer
|
||||
|
|
|
|||
|
|
@ -1009,7 +1009,7 @@ config INTEL_MFLD_THERMAL
|
|||
|
||||
config INTEL_IPS
|
||||
tristate "Intel Intelligent Power Sharing"
|
||||
depends on ACPI
|
||||
depends on ACPI && PCI
|
||||
---help---
|
||||
Intel Calpella platforms support dynamic power sharing between the
|
||||
CPU and GPU, maximizing performance in a given TDP. This driver,
|
||||
|
|
@ -1135,7 +1135,7 @@ config SAMSUNG_Q10
|
|||
|
||||
config APPLE_GMUX
|
||||
tristate "Apple Gmux Driver"
|
||||
depends on ACPI
|
||||
depends on ACPI && PCI
|
||||
depends on PNP
|
||||
depends on BACKLIGHT_CLASS_DEVICE
|
||||
depends on BACKLIGHT_APPLE=n || BACKLIGHT_APPLE
|
||||
|
|
@ -1174,7 +1174,7 @@ config INTEL_SMARTCONNECT
|
|||
|
||||
config INTEL_PMC_IPC
|
||||
tristate "Intel PMC IPC Driver"
|
||||
depends on ACPI
|
||||
depends on ACPI && PCI
|
||||
---help---
|
||||
This driver provides support for PMC control on some Intel platforms.
|
||||
The PMC is an ARC processor which defines IPC commands for communication
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
config INT340X_THERMAL
|
||||
tristate "ACPI INT340X thermal drivers"
|
||||
depends on X86 && ACPI
|
||||
depends on X86 && ACPI && PCI
|
||||
select THERMAL_GOV_USER_SPACE
|
||||
select ACPI_THERMAL_REL
|
||||
select ACPI_FAN
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user