soc: sunxi: Fix missing dependency on REGMAP_MMIO
authorSamuel Holland <samuel@sholland.org>
Tue, 30 Apr 2019 14:59:37 +0000 (09:59 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 30 Apr 2019 15:55:08 +0000 (17:55 +0200)
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>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/soc/sunxi/Kconfig
drivers/usb/musb/Kconfig

index 353b07e40176ef3f77911b7a380095723da26ba8..e84eb4e59f586dfbed04ebb8cfd89041d5f59db4 100644 (file)
@@ -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
index f742fddc5e2ca6630e8d2d5d8e98d3c90b918a2f..52f8e2b57ad5b9ccf377f3544a57791b719a18e1 100644 (file)
@@ -67,7 +67,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