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

Reply via email to