Message ID | 20190301022044.24431-1-samuel@sholland.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | soc: sunxi: Fix missing dependency on REGMAP_MMIO | expand |
On Thu, Feb 28, 2019 at 08:20:44PM -0600, 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. > > Signed-off-by: Samuel Holland <samuel@sholland.org> I assume it would go through the USB tree. Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Maxime
On Fri, Mar 01, 2019 at 03:43:48PM +0100, Maxime Ripard wrote: > On Thu, Feb 28, 2019 at 08:20:44PM -0600, 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. Should this go to stable tree as well? Is a 'Fixes' tag for it? > > Signed-off-by: Samuel Holland <samuel@sholland.org> > > I assume it would go through the USB tree. > > Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Regards, -Bin.
On 4/1/19 10:29 AM, 'Bin Liu' via linux-sunxi wrote: > On Fri, Mar 01, 2019 at 03:43:48PM +0100, Maxime Ripard wrote: >> On Thu, Feb 28, 2019 at 08:20:44PM -0600, 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. > > Should this go to stable tree as well? Is a 'Fixes' tag for it? Yes, I just sent v2 with these tags (although I forgot Maxime's Ack). >>> Signed-off-by: Samuel Holland <samuel@sholland.org> >> >> I assume it would go through the USB tree. >> >> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Cheers, Samuel
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. Signed-off-by: Samuel Holland <samuel@sholland.org> --- drivers/soc/sunxi/Kconfig | 1 + drivers/usb/musb/Kconfig | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)