On Wed, 29 Mar 2017, Hans de Goede wrote: > On x86 the axp288 PMIC provides an ACPI OPRegion handler, which must be > available before other drivers using it are loaded, which can only be > ensured if the mfd, opregion driver and i2c-bus drivers are built in. > > The opregion driver is a bool depending on MFD_AXP20X_I2C ensuring that > it will be builtin if the opregion driver is to be enabled, add a > select for the designware-options to ensure those get built in too. > > This fixes errors like these during boot: > > mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA > ACPI Error: No handler for Region [REGS] (ffff93543b0cc3a8) > [UserDefinedRegion] > ACPI Error: Region UserDefinedRegion (ID=143) has no handler > (20170119/exfldio-2 > ACPI Error: Method parse/execution failed [\_SB.PCI0.I2C7.PMI5.GET] (Node > ffff93 > ACPI Error: Method parse/execution failed [\_SB.PCI0.SHC1._PS0] (Node > ffff93543b > acpi 80860F14:02: Failed to change power state to D0 > > Signed-off-by: Hans de Goede <[email protected]> > --- > Changes in v2: > -Fix Kconfig depends and selects to fix warning reported by kbuild test robot
Looks like there is still an issue. > -Improve commit msg (add example of ACPI errors this avoids) > --- > drivers/mfd/Kconfig | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig > index 4eb044e..ed2616c 100644 > --- a/drivers/mfd/Kconfig > +++ b/drivers/mfd/Kconfig > @@ -148,7 +148,14 @@ config MFD_AXP20X_I2C > tristate "X-Powers AXP series PMICs with I2C" > select MFD_AXP20X > select REGMAP_I2C > - depends on I2C > + # In order for the ACPI Opregion this provides on x86 to be available > + # the i2c-adapter driver must be builtin too, select it and its deps > + depends on X86=n || (ACPI && HAS_IOMEM) > + select I2C > + select IOSF_MBI if X86 > + select COMMON_CLK if X86 > + select I2C_DESIGNWARE_PLATFORM if X86 > + select I2C_DESIGNWARE_BAYTRAIL if X86 > help > If you say Y here you get support for the X-Powers AXP series power > management ICs (PMICs) controlled with I2C. > @@ -156,6 +163,10 @@ config MFD_AXP20X_I2C > components like regulators or the PEK (Power Enable Key) under the > corresponding menus. > > + Note on x86 this provides an ACPI Opregion, so this must be 'y' > + (builtin) and not a module, as the OPregion must be available as > + soon as possible. > + > config MFD_AXP20X_RSB > tristate "X-Powers AXP series PMICs with RSB" > select MFD_AXP20X -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog

