Re: [PATCH v6] mfd: axp20x-i2c: Document that this must be builtin on x86
From: Lee Jones
Date: Mon Jun 05 2017 - 06:40:33 EST
On Sun, 04 Jun 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 and i2c-bus drivers are built-in.
>
> Since the AXP20x MFD code is used on non x86 too we cannot simply change
> this into a bool, I've tried some Kconfig magic with if x86 but I could
> not get this working correctly, so this commit just documents that this
> should be built-in on x86, which 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 <hdegoede@xxxxxxxxxx>
> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx>
> Tested-by: russianneuromancer <russianneuromancer@xxxxx>
> Acked-for-MFD-by: Lee Jones <lee.jones@xxxxxxxxxx>
> ---
> Changes in v2:
> -Fix Kconfig depends and selects to fix warning reported by kbuild test robot
> -Improve commit msg (add example of ACPI errors this avoids)
>
> Changes in v3:
> -Since the AXP20x MFD code is used on ARM too where it does not necessarily
> need to be builtin settle for simply documenting the need to have this
> builtin on x86
>
> Changes in v5:
> -Fix I2C spelling
>
> Changes in v6:
> -Various spelling fixes in the commit message
> -Add Lee Jones' Acked-by
> -Add russianneuromancer's Tested-by
> ---
> drivers/mfd/Kconfig | 5 +++++
> 1 file changed, 5 insertions(+)
Applied, thanks.
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 4f71cab2e6e8..e03853affcc5 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -160,6 +160,11 @@ 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. For the same reason the I2C bus driver options
> + I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_BAYTRAIL must be 'y' too.
> +
> 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