Re: [PATCH] drivers: soc: xilinx: fix firmware driver Kconfig dependency

From: Michal Simek
Date: Thu Apr 09 2020 - 02:44:28 EST


On 08. 04. 20 17:52, Arnd Bergmann wrote:
> The firmware driver is optional, but the power driver depends on it,
> which needs to be reflected in Kconfig to avoid link errors:
>
> aarch64-linux-ld: drivers/soc/xilinx/zynqmp_power.o: in function `zynqmp_pm_isr':
> zynqmp_power.c:(.text+0x284): undefined reference to `zynqmp_pm_invoke_fn'
>
> The firmware driver can probably be allowed for compile-testing as
> well, so it's best to drop the dependency on the ZYNQ platform
> here and allow building as long as the firmware code is built-in.
>
> Fixes: ab272643d723 ("drivers: soc: xilinx: Add ZynqMP PM driver")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/soc/xilinx/Kconfig | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/soc/xilinx/Kconfig b/drivers/soc/xilinx/Kconfig
> index 223f1f9d0922..646512d7276f 100644
> --- a/drivers/soc/xilinx/Kconfig
> +++ b/drivers/soc/xilinx/Kconfig
> @@ -19,7 +19,7 @@ config XILINX_VCU
>
> config ZYNQMP_POWER
> bool "Enable Xilinx Zynq MPSoC Power Management driver"
> - depends on PM && ARCH_ZYNQMP
> + depends on PM && ZYNQMP_FIRMWARE
> default y
> select MAILBOX
> select ZYNQMP_IPI_MBOX
> @@ -35,7 +35,7 @@ config ZYNQMP_POWER
> config ZYNQMP_PM_DOMAINS
> bool "Enable Zynq MPSoC generic PM domains"
> default y
> - depends on PM && ARCH_ZYNQMP && ZYNQMP_FIRMWARE
> + depends on PM && ZYNQMP_FIRMWARE
> select PM_GENERIC_DOMAINS
> help
> Say yes to enable device power management through PM domains
>

The same issue is likely with others drivers dependencies too which
depends on ARCH_ZYNQMP.

It means all drivers which includes "linux/firmware/xlnx-zynqmp.h" and
call zynqmp_pm_get_eemi_ops() should depend on ZYNQMP_FIRMWARE instead
of ARCH_ZYNQMP.

Thanks,
Michal