linux/drivers/soc
Samuel Holland 8b330b3efa soc: sunxi: Fix missing dependency on REGMAP_MMIO
commit a84014e1db upstream.

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: 5828729beb ("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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-10 17:54:10 +02:00
..
actions treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
amlogic amlogic: meson-gx-socinfo: Update soc ids 2018-03-19 16:40:26 -07:00
atmel drivers: soc: atmel: Add basic support for new sama5d2 SiPs 2017-09-17 19:45:59 +02:00
bcm soc: bcm: brcmstb: Don't leak device tree node reference 2019-02-12 19:47:03 +01:00
dove License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fsl soc: fsl: qbman: avoid race in clearing QMan interrupt 2019-03-13 14:02:33 -07:00
gemini soc: Add SoC driver for Gemini 2018-01-04 17:01:53 +01:00
imx ARM: SoC driver updates 2018-08-23 13:52:46 -07:00
lantiq MIPS: lantiq: gphy: Drop reboot/remove reset asserts 2018-05-24 13:22:56 +01:00
mediatek soc: mediatek: pwrap: add mt6351 driver for mt6797 SoCs 2018-07-16 15:50:17 +02:00
qcom soc: qcom: gsbi: Fix error handling in gsbi_probe() 2019-04-05 22:33:12 +02:00
renesas Second Round of Renesas ARM Based SoC Updates for v4.19 2018-07-21 14:19:37 -07:00
rockchip ARM: SoC driver updates 2018-06-11 18:15:22 -07:00
samsung soc: samsung: pm_domains: Deprecate support for clocks 2018-04-17 17:25:42 +02:00
sunxi soc: sunxi: Fix missing dependency on REGMAP_MMIO 2019-05-10 17:54:10 +02:00
tegra soc/tegra: pmc: Drop locking from tegra_powergate_is_powered() 2019-04-20 09:16:03 +02:00
ti soc: ti: QMSS: Fix usage of irq_set_affinity_hint 2018-11-21 09:19:18 +01:00
ux500 ARM: ux500: move soc_id driver to drivers/soc 2016-07-12 11:24:09 +02:00
versatile soc: versatile: remove unnecessary static in realview_soc_probe() 2017-08-16 22:28:27 +02:00
xilinx soc: xilinx: Fix Kconfig alignment 2018-01-16 15:50:21 +01:00
zte soc: zte: Restrict SOC_ZTE to ARCH_ZX or COMPILE_TEST 2017-07-27 13:12:34 +02:00
Kconfig soc: xilinx: Create folder structure for soc specific drivers 2018-01-08 13:42:39 +01:00
Makefile soc: Unconditionally include qcom Makefile 2018-05-25 15:53:57 -05:00