Re: [PATCH v2] soc: sunxi: Fix missing dependency on REGMAP_MMIO

From: Maxime Ripard
Date: Tue Apr 02 2019 - 02:09:11 EST


On Mon, Apr 01, 2019 at 05:03:31PM -0500, Samuel Holland wrote:
> When enabling ARCH_SUNXI from allnoconfig, SUNXI_SRAM is enabled, but
> not REGMAP_MMIO, so the kernel fails to link with an undefined reference
> to __devm_regmap_init_mmio_clk. Select REGMAP_MMIO, as suggested in
> drivers/base/regmap/Kconfig.
>
> This creates the following dependency loop:
>
> drivers/of/Kconfig:68: symbol OF_IRQ depends on IRQ_DOMAIN
> kernel/irq/Kconfig:63: symbol IRQ_DOMAIN is selected by REGMAP
> drivers/base/regmap/Kconfig:7: symbol REGMAP default is visible depending on REGMAP_MMIO
> drivers/base/regmap/Kconfig:39: symbol REGMAP_MMIO is selected by SUNXI_SRAM
> drivers/soc/sunxi/Kconfig:4: symbol SUNXI_SRAM is selected by USB_MUSB_SUNXI
> drivers/usb/musb/Kconfig:63: symbol USB_MUSB_SUNXI depends on GENERIC_PHY
> drivers/phy/Kconfig:7: symbol GENERIC_PHY is selected by PHY_BCM_NS_USB3
> drivers/phy/broadcom/Kconfig:29: symbol PHY_BCM_NS_USB3 depends on MDIO_BUS
> drivers/net/phy/Kconfig:12: symbol MDIO_BUS default is visible depending on PHYLIB
> drivers/net/phy/Kconfig:181: symbol PHYLIB is selected by ARC_EMAC_CORE
> drivers/net/ethernet/arc/Kconfig:18: symbol ARC_EMAC_CORE is selected by ARC_EMAC
> drivers/net/ethernet/arc/Kconfig:24: symbol ARC_EMAC depends on OF_IRQ
>
> To fix the circular dependency, make USB_MUSB_SUNXI select GENERIC_PHY
> instead of depending on it. This matches the use of GENERIC_PHY by all
> but two other drivers.
>
> Cc: <stable@xxxxxxxxxxxxxxx> # 4.19
> Fixes: 5828729bebbb ("soc: sunxi: export a regmap for EMAC clock reg on A64")
> Signed-off-by: Samuel Holland <samuel@xxxxxxxxxxxx>

Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxx>

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com