Message ID | 20190401220331.44720-1-samuel@sholland.org (mailing list archive) |
---|---|
State | Mainlined |
Commit | a84014e1db35d8e7af09878d0b4bf30804fb17d5 |
Headers | show |
Series | [v2] soc: sunxi: Fix missing dependency on REGMAP_MMIO | expand |
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@vger.kernel.org> # 4.19 > Fixes: 5828729bebbb ("soc: sunxi: export a regmap for EMAC clock reg on A64") > Signed-off-by: Samuel Holland <samuel@sholland.org> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
On Tue, Apr 02, 2019 at 08:09:01AM +0200, Maxime Ripard wrote: > 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@vger.kernel.org> # 4.19 > > Fixes: 5828729bebbb ("soc: sunxi: export a regmap for EMAC clock reg on A64") > > Signed-off-by: Samuel Holland <samuel@sholland.org> > > Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> The patch is applied. Thanks, -Bin.
diff --git a/drivers/soc/sunxi/Kconfig b/drivers/soc/sunxi/Kconfig index 353b07e40176..e84eb4e59f58 100644 --- a/drivers/soc/sunxi/Kconfig +++ b/drivers/soc/sunxi/Kconfig @@ -4,6 +4,7 @@ config SUNXI_SRAM bool default ARCH_SUNXI + select REGMAP_MMIO help Say y here to enable the SRAM controller support. This device is responsible on mapping the SRAM in the sunXi SoCs diff --git a/drivers/usb/musb/Kconfig b/drivers/usb/musb/Kconfig index ad08895e78f9..c3dae7d5cb6e 100644 --- a/drivers/usb/musb/Kconfig +++ b/drivers/usb/musb/Kconfig @@ -66,7 +66,7 @@ config USB_MUSB_SUNXI depends on NOP_USB_XCEIV depends on PHY_SUN4I_USB depends on EXTCON - depends on GENERIC_PHY + select GENERIC_PHY select SUNXI_SRAM config USB_MUSB_DAVINCI
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@vger.kernel.org> # 4.19 Fixes: 5828729bebbb ("soc: sunxi: export a regmap for EMAC clock reg on A64") Signed-off-by: Samuel Holland <samuel@sholland.org> --- changes from v1: - add stable@ and Fixes: tag --- drivers/soc/sunxi/Kconfig | 1 + drivers/usb/musb/Kconfig | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)