* [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'
@ 2018-02-24 14:50 Masahiro Yamada
2018-02-25 12:13 ` Andy Shevchenko
2018-02-26 8:43 ` Arnd Bergmann
0 siblings, 2 replies; 9+ messages in thread
From: Masahiro Yamada @ 2018-02-24 14:50 UTC (permalink / raw)
To: Lee Jones, Greg Kroah-Hartman
Cc: Arnd Bergmann, linux-kernel, linux-clk, linux-arm-kernel,
linux-usb, Masahiro Yamada
As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
used with care - it forces a lower limit of another symbol, ignoring
the dependency.
MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
select it.
This causes unmet dependencies for architecture without HAS_IOMEM.
$ make ARCH=score randconfig
scripts/kconfig/conf --randconfig Kconfig
KCONFIG_SEED=0x27C47F43
warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
Use 'depends on' to observe the dependency.
This commit was created by the following command:
$ find drivers -name 'Kconfig*' | xargs sed -i -e \
's/select MFD_SYSCON$/depends on MFD_SYSCON/'
Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
Also, make MFD_SYSCON 'default y' because some defconfig files may
rely on someone select's MFD_SYSCON.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
If you have a better idea to fix 'unmet dependencies',
please suggest.
drivers/ata/Kconfig | 2 +-
drivers/clk/Kconfig | 9 ++++-----
drivers/clk/imgtec/Kconfig | 2 +-
drivers/clocksource/Kconfig | 4 ++--
drivers/dma/Kconfig | 2 +-
drivers/gpu/drm/exynos/Kconfig | 2 +-
drivers/hwspinlock/Kconfig | 2 +-
drivers/input/touchscreen/Kconfig | 2 +-
drivers/irqchip/Kconfig | 2 +-
drivers/media/platform/Kconfig | 2 +-
drivers/media/platform/exynos4-is/Kconfig | 2 +-
drivers/memory/Kconfig | 2 +-
drivers/mfd/Kconfig | 5 +++--
drivers/net/ethernet/hisilicon/Kconfig | 2 +-
drivers/net/ethernet/stmicro/stmmac/Kconfig | 16 ++++++++--------
drivers/net/ethernet/ti/Kconfig | 2 +-
drivers/pci/dwc/Kconfig | 2 +-
drivers/pci/host/Kconfig | 2 +-
drivers/phy/hisilicon/Kconfig | 4 ++--
drivers/phy/ralink/Kconfig | 2 +-
drivers/phy/rockchip/Kconfig | 2 +-
drivers/phy/samsung/Kconfig | 6 +++---
drivers/phy/ti/Kconfig | 2 +-
drivers/pinctrl/Kconfig | 6 +++---
drivers/pinctrl/mvebu/Kconfig | 4 ++--
drivers/pinctrl/stm32/Kconfig | 2 +-
drivers/power/reset/Kconfig | 6 +++---
drivers/remoteproc/Kconfig | 4 ++--
drivers/reset/Kconfig | 4 ++--
drivers/rtc/Kconfig | 2 +-
drivers/soc/qcom/Kconfig | 2 +-
drivers/staging/media/omap4iss/Kconfig | 2 +-
drivers/usb/host/Kconfig | 2 +-
drivers/video/fbdev/Kconfig | 2 +-
drivers/watchdog/Kconfig | 4 ++--
35 files changed, 59 insertions(+), 59 deletions(-)
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index a7120d6..e70753c 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -176,7 +176,7 @@ config AHCI_CEVA
config AHCI_MTK
tristate "MediaTek AHCI SATA support"
depends on ARCH_MEDIATEK
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
This option enables support for the MediaTek SoC's
onboard AHCI SATA controller.
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index 98ce9fc..b4950d8 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -136,7 +136,7 @@ config COMMON_CLK_CS2000_CP
config COMMON_CLK_GEMINI
bool "Clock driver for Cortina Systems Gemini SoC"
depends on ARCH_GEMINI || COMPILE_TEST
- select MFD_SYSCON
+ depends on MFD_SYSCON
select RESET_CONTROLLER
---help---
This driver supports the SoC clocks on the Cortina Systems Gemini
@@ -146,7 +146,7 @@ config COMMON_CLK_ASPEED
bool "Clock driver for Aspeed BMC SoCs"
depends on ARCH_ASPEED || COMPILE_TEST
default ARCH_ASPEED
- select MFD_SYSCON
+ depends on MFD_SYSCON
select RESET_CONTROLLER
---help---
This driver supports the SoC clocks on the Aspeed BMC platforms.
@@ -193,9 +193,8 @@ config COMMON_CLK_XGENE
Sypport for the APM X-Gene SoC reference, PLL, and device clocks.
config COMMON_CLK_NXP
- def_bool COMMON_CLK && (ARCH_LPC18XX || ARCH_LPC32XX)
+ def_bool COMMON_CLK && ((ARCH_LPC18XX && MFD_SYSCON) || ARCH_LPC32XX)
select REGMAP_MMIO if ARCH_LPC32XX
- select MFD_SYSCON if ARCH_LPC18XX
---help---
Support for clock providers on NXP platforms.
@@ -224,7 +223,7 @@ config COMMON_CLK_PIC32
config COMMON_CLK_OXNAS
bool "Clock driver for the OXNAS SoC Family"
depends on ARCH_OXNAS || COMPILE_TEST
- select MFD_SYSCON
+ depends on MFD_SYSCON
---help---
Support for the OXNAS SoC Family clocks.
diff --git a/drivers/clk/imgtec/Kconfig b/drivers/clk/imgtec/Kconfig
index f6dcb74..0034a1f 100644
--- a/drivers/clk/imgtec/Kconfig
+++ b/drivers/clk/imgtec/Kconfig
@@ -1,7 +1,7 @@
config COMMON_CLK_BOSTON
bool "Clock driver for MIPS Boston boards"
depends on MIPS || COMPILE_TEST
- select MFD_SYSCON
+ depends on MFD_SYSCON
---help---
Enable this to support the system & CPU clocks on the MIPS Boston
development board from Imagination Technologies. These are simple
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index b3b4ed9..66c0987 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -61,7 +61,7 @@ config FTTMR010_TIMER
depends on HAS_IOMEM
select CLKSRC_MMIO
select TIMER_OF
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Enables support for the Faraday Technology timer block
FTTMR010.
@@ -387,7 +387,7 @@ config ATMEL_PIT
config ATMEL_ST
bool "Atmel ST timer support" if COMPILE_TEST
select TIMER_OF
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Support for the Atmel ST timer.
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index 27df3e2..19d89d3 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -312,7 +312,7 @@ config LPC18XX_DMAMUX
bool "NXP LPC18xx/43xx DMA MUX for PL080"
depends on ARCH_LPC18XX || COMPILE_TEST
depends on OF && AMBA_PL08X
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Enable support for DMA on NXP LPC18xx/43xx platforms
with PL080 and multiplexed DMA request lines.
diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
index 735ce47..85fe96a 100644
--- a/drivers/gpu/drm/exynos/Kconfig
+++ b/drivers/gpu/drm/exynos/Kconfig
@@ -20,7 +20,7 @@ comment "CRTCs"
config DRM_EXYNOS_FIMD
bool "FIMD"
depends on !FB_S3C
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Choose this option if you want to use Exynos FIMD for DRM.
diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig
index f0f4679..3393b20 100644
--- a/drivers/hwspinlock/Kconfig
+++ b/drivers/hwspinlock/Kconfig
@@ -19,7 +19,7 @@ config HWSPINLOCK_QCOM
tristate "Qualcomm Hardware Spinlock device"
depends on HWSPINLOCK
depends on ARCH_QCOM
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Say y here to support the Qualcomm Hardware Mutex functionality, which
provides a synchronisation mechanism for the various processors on
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
index 4f15496..96e5e78 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -987,7 +987,7 @@ config TOUCHSCREEN_TS4800
tristate "TS-4800 touchscreen"
depends on HAS_IOMEM && OF
depends on SOC_IMX51 || COMPILE_TEST
- select MFD_SYSCON
+ depends on MFD_SYSCON
select INPUT_POLLDEV
help
Say Y here if you have a touchscreen on a TS-4800 board.
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index d913aec..92cfe72 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -201,7 +201,7 @@ config RENESAS_IRQC
config ST_IRQCHIP
bool
select REGMAP
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Enables SysCfg Controlled IRQs on STi based platforms.
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 614fbef..8909ee5 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -89,7 +89,7 @@ config VIDEO_OMAP3
depends on OMAP_IOMMU
select ARM_DMA_USE_IOMMU
select VIDEOBUF2_DMA_CONTIG
- select MFD_SYSCON
+ depends on MFD_SYSCON
select V4L2_FWNODE
---help---
Driver for an OMAP 3 camera controller.
diff --git a/drivers/media/platform/exynos4-is/Kconfig b/drivers/media/platform/exynos4-is/Kconfig
index 7b2c49e..cea6f2b 100644
--- a/drivers/media/platform/exynos4-is/Kconfig
+++ b/drivers/media/platform/exynos4-is/Kconfig
@@ -20,7 +20,7 @@ config VIDEO_S5P_FIMC
depends on HAS_DMA
select VIDEOBUF2_DMA_CONTIG
select V4L2_MEM2MEM_DEV
- select MFD_SYSCON
+ depends on MFD_SYSCON
select VIDEO_EXYNOS4_IS_COMMON
help
This is a V4L2 driver for Samsung S5P and EXYNOS4 SoC camera host
diff --git a/drivers/memory/Kconfig b/drivers/memory/Kconfig
index 19a0e83..924d471 100644
--- a/drivers/memory/Kconfig
+++ b/drivers/memory/Kconfig
@@ -29,7 +29,7 @@ config ATMEL_EBI
bool "Atmel EBI driver"
default y
depends on ARCH_AT91 && OF
- select MFD_SYSCON
+ depends on MFD_SYSCON
select MFD_ATMEL_SMC
help
Driver for Atmel EBI controller.
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index b860eb5..fbbe20a 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -123,7 +123,7 @@ config MFD_ATMEL_HLCDC
config MFD_ATMEL_SMC
bool
- select MFD_SYSCON
+ depends on MFD_SYSCON
config MFD_BCM590XX
tristate "Broadcom BCM590xx PMUs"
@@ -1206,6 +1206,7 @@ config MFD_SUN6I_PRCM
config MFD_SYSCON
bool "System Controller Register R/W Based on Regmap"
select REGMAP_MMIO
+ default y
help
Select this option to enable accessing system control registers
via regmap.
@@ -1843,7 +1844,7 @@ config MFD_VEXPRESS_SYSREG
select CLKSRC_MMIO
select GPIO_GENERIC_PLATFORM
select MFD_CORE
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
System Registers are the platform configuration block
on the ARM Ltd. Versatile Express board.
diff --git a/drivers/net/ethernet/hisilicon/Kconfig b/drivers/net/ethernet/hisilicon/Kconfig
index 8bcf470..ca9d3e8 100644
--- a/drivers/net/ethernet/hisilicon/Kconfig
+++ b/drivers/net/ethernet/hisilicon/Kconfig
@@ -39,7 +39,7 @@ config HIP04_ETH
tristate "HISILICON P04 Ethernet support"
depends on HAS_IOMEM # For MFD_SYSCON
select MARVELL_PHY
- select MFD_SYSCON
+ depends on MFD_SYSCON
select HNS_MDIO
---help---
If you wish to compile a kernel for a hardware with hisilicon p04 SoC and
diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig
index e28c0d2..518c3f3 100644
--- a/drivers/net/ethernet/stmicro/stmmac/Kconfig
+++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig
@@ -15,7 +15,7 @@ if STMMAC_ETH
config STMMAC_PLATFORM
tristate "STMMAC Platform bus support"
depends on STMMAC_ETH
- select MFD_SYSCON
+ depends on MFD_SYSCON
default y
---help---
This selects the platform specific bus support for the stmmac driver.
@@ -58,7 +58,7 @@ config DWMAC_IPQ806X
tristate "QCA IPQ806x DWMAC support"
default ARCH_QCOM
depends on OF && (ARCH_QCOM || COMPILE_TEST)
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Support for QCA IPQ806X DWMAC Ethernet.
@@ -71,7 +71,7 @@ config DWMAC_LPC18XX
tristate "NXP LPC18xx/43xx DWMAC support"
default ARCH_LPC18XX
depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
- select MFD_SYSCON
+ depends on MFD_SYSCON
---help---
Support for NXP LPC18xx/43xx DWMAC Ethernet.
@@ -90,7 +90,7 @@ config DWMAC_OXNAS
tristate "Oxford Semiconductor OXNAS dwmac support"
default ARCH_OXNAS
depends on OF && COMMON_CLK && (ARCH_OXNAS || COMPILE_TEST)
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Support for Ethernet controller on Oxford Semiconductor OXNAS SoCs.
@@ -101,7 +101,7 @@ config DWMAC_ROCKCHIP
tristate "Rockchip dwmac support"
default ARCH_ROCKCHIP
depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Support for Ethernet controller on Rockchip RK3288 SoC.
@@ -112,7 +112,7 @@ config DWMAC_SOCFPGA
tristate "SOCFPGA dwmac support"
default ARCH_SOCFPGA
depends on OF && (ARCH_SOCFPGA || COMPILE_TEST)
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Support for ethernet controller on Altera SOCFPGA
@@ -124,7 +124,7 @@ config DWMAC_STI
tristate "STi GMAC support"
default ARCH_STI
depends on OF && (ARCH_STI || COMPILE_TEST)
- select MFD_SYSCON
+ depends on MFD_SYSCON
---help---
Support for ethernet controller on STi SOCs.
@@ -136,7 +136,7 @@ config DWMAC_STM32
tristate "STM32 DWMAC support"
default ARCH_STM32
depends on OF && HAS_IOMEM && (ARCH_STM32 || COMPILE_TEST)
- select MFD_SYSCON
+ depends on MFD_SYSCON
---help---
Support for ethernet controller on STM32 SOCs.
diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
index 48a541e..9acad82 100644
--- a/drivers/net/ethernet/ti/Kconfig
+++ b/drivers/net/ethernet/ti/Kconfig
@@ -65,7 +65,7 @@ config TI_CPSW
select TI_DAVINCI_MDIO
select TI_CPSW_PHY_SEL
select TI_CPSW_ALE
- select MFD_SYSCON
+ depends on MFD_SYSCON
select REGMAP
---help---
This driver supports TI's CPSW Ethernet Switch.
diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
index 0f666b1..1b13016 100644
--- a/drivers/pci/dwc/Kconfig
+++ b/drivers/pci/dwc/Kconfig
@@ -107,7 +107,7 @@ config PCI_LAYERSCAPE
depends on PCI
depends on OF && (ARM || ARCH_LAYERSCAPE)
depends on PCI_MSI_IRQ_DOMAIN
- select MFD_SYSCON
+ depends on MFD_SYSCON
select PCIE_DW_HOST
help
Say Y here if you want PCIe controller support on Layerscape SoCs.
diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig
index a4ed748..58c94ab 100644
--- a/drivers/pci/host/Kconfig
+++ b/drivers/pci/host/Kconfig
@@ -182,7 +182,7 @@ config PCIE_ROCKCHIP
depends on ARCH_ROCKCHIP || COMPILE_TEST
depends on OF
depends on PCI_MSI_IRQ_DOMAIN
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Say Y here if you want internal PCI support on Rockchip SoC.
There is 1 internal PCIe port available to support GEN2 with
diff --git a/drivers/phy/hisilicon/Kconfig b/drivers/phy/hisilicon/Kconfig
index 6164c4c..4279c17 100644
--- a/drivers/phy/hisilicon/Kconfig
+++ b/drivers/phy/hisilicon/Kconfig
@@ -5,7 +5,7 @@ config PHY_HI6220_USB
tristate "hi6220 USB PHY support"
depends on (ARCH_HISI && ARM64) || COMPILE_TEST
select GENERIC_PHY
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Enable this to support the HISILICON HI6220 USB PHY.
@@ -15,6 +15,6 @@ config PHY_HIX5HD2_SATA
tristate "HIX5HD2 SATA PHY Driver"
depends on ARCH_HIX5HD2 && OF && HAS_IOMEM
select GENERIC_PHY
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Support for SATA PHY on Hisilicon hix5hd2 Soc.
diff --git a/drivers/phy/ralink/Kconfig b/drivers/phy/ralink/Kconfig
index b17635b..dfb01b6 100644
--- a/drivers/phy/ralink/Kconfig
+++ b/drivers/phy/ralink/Kconfig
@@ -5,7 +5,7 @@ config PHY_RALINK_USB
tristate "Ralink USB PHY driver"
depends on RALINK || COMPILE_TEST
select GENERIC_PHY
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
This option enables support for the Ralink USB PHY found inside
RT3352, MT7620, MT7628 and MT7688.
diff --git a/drivers/phy/rockchip/Kconfig b/drivers/phy/rockchip/Kconfig
index f5325b2..27c8d71 100644
--- a/drivers/phy/rockchip/Kconfig
+++ b/drivers/phy/rockchip/Kconfig
@@ -30,7 +30,7 @@ config PHY_ROCKCHIP_PCIE
tristate "Rockchip PCIe PHY Driver"
depends on (ARCH_ROCKCHIP && OF) || COMPILE_TEST
select GENERIC_PHY
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Enable this to support the Rockchip PCIe PHY.
diff --git a/drivers/phy/samsung/Kconfig b/drivers/phy/samsung/Kconfig
index b7e0645..15abc3b 100644
--- a/drivers/phy/samsung/Kconfig
+++ b/drivers/phy/samsung/Kconfig
@@ -33,7 +33,7 @@ config PHY_SAMSUNG_USB2
depends on HAS_IOMEM
depends on USB_EHCI_EXYNOS || USB_OHCI_EXYNOS || USB_DWC2
select GENERIC_PHY
- select MFD_SYSCON
+ depends on MFD_SYSCON
default ARCH_EXYNOS
help
Enable this to support the Samsung USB 2.0 PHY driver for Samsung
@@ -72,7 +72,7 @@ config PHY_EXYNOS5_USBDRD
depends on HAS_IOMEM
depends on USB_DWC3_EXYNOS
select GENERIC_PHY
- select MFD_SYSCON
+ depends on MFD_SYSCON
default y
help
Enable USB DRD PHY support for Exynos 5 SoC series.
@@ -87,7 +87,7 @@ config PHY_EXYNOS5250_SATA
select GENERIC_PHY
select I2C
select I2C_S3C2410
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Enable this to support SATA SerDes/Phy found on Samsung's
Exynos5250 based SoCs.This SerDes/Phy supports SATA 1.5 Gb/s,
diff --git a/drivers/phy/ti/Kconfig b/drivers/phy/ti/Kconfig
index 2050356..bfa50d1 100644
--- a/drivers/phy/ti/Kconfig
+++ b/drivers/phy/ti/Kconfig
@@ -5,7 +5,7 @@ config PHY_DA8XX_USB
tristate "TI DA8xx USB PHY Driver"
depends on ARCH_DAVINCI_DA8XX
select GENERIC_PHY
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Enable this to support the USB PHY on DA8xx SoCs.
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 0f254b3..6bfb4f1 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -168,7 +168,7 @@ config PINCTRL_GEMINI
default ARCH_GEMINI
select PINMUX
select GENERIC_PINCONF
- select MFD_SYSCON
+ depends on MFD_SYSCON
config PINCTRL_MCP23S08
tristate "Microchip MCP23xxx I/O expander"
@@ -194,14 +194,14 @@ config PINCTRL_OXNAS
select GPIOLIB
select OF_GPIO
select GPIOLIB_IRQCHIP
- select MFD_SYSCON
+ depends on MFD_SYSCON
config PINCTRL_ROCKCHIP
bool
select PINMUX
select GENERIC_PINCONF
select GENERIC_IRQ_CHIP
- select MFD_SYSCON
+ depends on MFD_SYSCON
config PINCTRL_RZA1
bool "Renesas RZ/A1 gpio and pinctrl driver"
diff --git a/drivers/pinctrl/mvebu/Kconfig b/drivers/pinctrl/mvebu/Kconfig
index d9773b7..6ba5f49 100644
--- a/drivers/pinctrl/mvebu/Kconfig
+++ b/drivers/pinctrl/mvebu/Kconfig
@@ -6,7 +6,7 @@ config PINCTRL_MVEBU
config PINCTRL_DOVE
bool
select PINCTRL_MVEBU
- select MFD_SYSCON
+ depends on MFD_SYSCON
config PINCTRL_KIRKWOOD
bool
@@ -47,6 +47,6 @@ config PINCTRL_ORION
config PINCTRL_ARMADA_37XX
bool
select GENERIC_PINCONF
- select MFD_SYSCON
+ depends on MFD_SYSCON
select PINCONF
select PINMUX
diff --git a/drivers/pinctrl/stm32/Kconfig b/drivers/pinctrl/stm32/Kconfig
index 1c4e00b2..6896f7e 100644
--- a/drivers/pinctrl/stm32/Kconfig
+++ b/drivers/pinctrl/stm32/Kconfig
@@ -7,7 +7,7 @@ config PINCTRL_STM32
select GENERIC_PINCONF
select GPIOLIB
select IRQ_DOMAIN_HIERARCHY
- select MFD_SYSCON
+ depends on MFD_SYSCON
config PINCTRL_STM32F429
bool "STMicroelectronics STM32F429 pin control" if COMPILE_TEST && !MACH_STM32F429
diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
index a102e74..8f3b7a6 100644
--- a/drivers/power/reset/Kconfig
+++ b/drivers/power/reset/Kconfig
@@ -170,7 +170,7 @@ config POWER_RESET_KEYSTONE
bool "Keystone reset driver"
depends on ARCH_KEYSTONE || COMPILE_TEST
depends on HAS_IOMEM
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Reboot support for the KEYSTONE SoCs.
@@ -178,7 +178,7 @@ config POWER_RESET_SYSCON
bool "Generic SYSCON regmap reset driver"
depends on OF
depends on HAS_IOMEM
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Reboot support for generic SYSCON mapped register reset.
@@ -186,7 +186,7 @@ config POWER_RESET_SYSCON_POWEROFF
bool "Generic SYSCON regmap poweroff driver"
depends on OF
depends on HAS_IOMEM
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Poweroff support for generic SYSCON mapped register poweroff.
diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
index b609e1d..4ef945f 100644
--- a/drivers/remoteproc/Kconfig
+++ b/drivers/remoteproc/Kconfig
@@ -90,7 +90,7 @@ config QCOM_ADSP_PIL
depends on QCOM_SMEM
depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
- select MFD_SYSCON
+ depends on MFD_SYSCON
select QCOM_MDT_LOADER
select QCOM_RPROC_COMMON
select QCOM_SCM
@@ -107,7 +107,7 @@ config QCOM_Q6V5_PIL
depends on QCOM_SMEM
depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
- select MFD_SYSCON
+ depends on MFD_SYSCON
select QCOM_RPROC_COMMON
select QCOM_SCM
help
diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig
index 7fc7769..e2536dc 100644
--- a/drivers/reset/Kconfig
+++ b/drivers/reset/Kconfig
@@ -50,7 +50,7 @@ config RESET_HSDK
config RESET_IMX7
bool "i.MX7 Reset Driver" if COMPILE_TEST
default SOC_IMX7D
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
This enables the reset controller driver for i.MX7 SoCs.
@@ -110,7 +110,7 @@ config RESET_TI_SCI
config RESET_TI_SYSCON
tristate "TI SYSCON Reset Driver"
depends on HAS_IOMEM
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
This enables the reset driver support for TI devices with
memory-mapped reset registers as part of a syscon device node. If
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 8ab5f0a5..7cc8a6f 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -1413,7 +1413,7 @@ config RTC_DRV_AT91RM9200
config RTC_DRV_AT91SAM9
tristate "AT91SAM9 RTT as RTC"
depends on ARCH_AT91 || COMPILE_TEST
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which
can be used as an RTC thanks to the backup power supply (e.g. a
diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index e050eb8..c51f50c 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -15,7 +15,7 @@ config QCOM_GLINK_SSR
config QCOM_GSBI
tristate "QCOM General Serial Bus Interface"
depends on ARCH_QCOM
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Say y here to enable GSBI support. The GSBI provides control
functions for connecting the underlying serial UART, SPI, and I2C
diff --git a/drivers/staging/media/omap4iss/Kconfig b/drivers/staging/media/omap4iss/Kconfig
index 4618346..616169e 100644
--- a/drivers/staging/media/omap4iss/Kconfig
+++ b/drivers/staging/media/omap4iss/Kconfig
@@ -2,7 +2,7 @@ config VIDEO_OMAP4
tristate "OMAP 4 Camera support"
depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && I2C && ARCH_OMAP4
depends on HAS_DMA
- select MFD_SYSCON
+ depends on MFD_SYSCON
select VIDEOBUF2_DMA_CONTIG
---help---
Driver for an OMAP 4 ISS controller.
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 4fcfb30..b26b124 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -54,7 +54,7 @@ config USB_XHCI_PLATFORM
config USB_XHCI_MTK
tristate "xHCI support for MediaTek SoCs"
- select MFD_SYSCON
+ depends on MFD_SYSCON
depends on (MIPS && SOC_MT7621) || ARCH_MEDIATEK || COMPILE_TEST
---help---
Say 'Y' to enable the support for the xHCI host controller
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 11e699f..88ebc5b 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -316,7 +316,7 @@ config PLAT_VERSATILE_CLCD
depends on ARM
depends on FB_ARMCLCD && FB=y
select REGMAP
- select MFD_SYSCON
+ depends on MFD_SYSCON
config FB_ACORN
bool "Acorn VIDC support"
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index aff773b..f0c212f 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -374,8 +374,8 @@ config HAVE_S3C2410_WATCHDOG
config S3C2410_WATCHDOG
tristate "S3C2410 Watchdog"
depends on HAVE_S3C2410_WATCHDOG || COMPILE_TEST
+ depends on MFD_SYSCON
select WATCHDOG_CORE
- select MFD_SYSCON if ARCH_EXYNOS
help
Watchdog timer block in the Samsung SoCs. This will reboot
the system when the timer expires with the watchdog enabled.
@@ -545,7 +545,7 @@ config TS4800_WATCHDOG
depends on HAS_IOMEM && OF
depends on SOC_IMX51 || COMPILE_TEST
select WATCHDOG_CORE
- select MFD_SYSCON
+ depends on MFD_SYSCON
help
Technologic Systems TS-4800 has watchdog timer implemented in
an external FPGA. Say Y here if you want to support for the
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'
2018-02-24 14:50 [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON' Masahiro Yamada
@ 2018-02-25 12:13 ` Andy Shevchenko
2018-02-26 8:43 ` Arnd Bergmann
1 sibling, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2018-02-25 12:13 UTC (permalink / raw)
To: Masahiro Yamada
Cc: Lee Jones, Greg Kroah-Hartman, Arnd Bergmann,
Linux Kernel Mailing List, linux-clk, linux-arm Mailing List,
USB
On Sat, Feb 24, 2018 at 4:50 PM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> Also, make MFD_SYSCON 'default y' because some defconfig files may
> rely on someone select's MFD_SYSCON.
I'm not sure this is right thing to do. You basically imply that there
always a user of it.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'
2018-02-24 14:50 [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON' Masahiro Yamada
2018-02-25 12:13 ` Andy Shevchenko
@ 2018-02-26 8:43 ` Arnd Bergmann
2018-02-26 11:53 ` Masahiro Yamada
1 sibling, 1 reply; 9+ messages in thread
From: Arnd Bergmann @ 2018-02-26 8:43 UTC (permalink / raw)
To: Masahiro Yamada
Cc: Lee Jones, Greg Kroah-Hartman, Linux Kernel Mailing List,
linux-clk, Linux ARM, linux-usb
On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
> used with care - it forces a lower limit of another symbol, ignoring
> the dependency.
>
> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
> select it.
>
> This causes unmet dependencies for architecture without HAS_IOMEM.
>
> $ make ARCH=score randconfig
> scripts/kconfig/conf --randconfig Kconfig
> KCONFIG_SEED=0x27C47F43
> warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
> selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>
> Use 'depends on' to observe the dependency.
>
> This commit was created by the following command:
>
> $ find drivers -name 'Kconfig*' | xargs sed -i -e \
> 's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>
> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>
> Also, make MFD_SYSCON 'default y' because some defconfig files may
> rely on someone select's MFD_SYSCON.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
> If you have a better idea to fix 'unmet dependencies',
> please suggest.
Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
of defconfig configurations, I'd rather not do that.
Only score, tile and um have some configurations that select 'NO_IOMEM'.
Score is getting removed now, tile might get removed later (we could make
PCI mandatory in the meantime to avoid that configuration), and I think for
um, we already have a workaround for the NO_IOMEM dependencies
(I forget the details).
Arnd
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'
2018-02-26 8:43 ` Arnd Bergmann
@ 2018-02-26 11:53 ` Masahiro Yamada
2018-02-26 12:43 ` Arnd Bergmann
0 siblings, 1 reply; 9+ messages in thread
From: Masahiro Yamada @ 2018-02-26 11:53 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Lee Jones, Greg Kroah-Hartman, Linux Kernel Mailing List,
linux-clk, Linux ARM, linux-usb
2018-02-26 17:43 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
>> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
>> used with care - it forces a lower limit of another symbol, ignoring
>> the dependency.
>>
>> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
>> select it.
>>
>> This causes unmet dependencies for architecture without HAS_IOMEM.
>>
>> $ make ARCH=score randconfig
>> scripts/kconfig/conf --randconfig Kconfig
>> KCONFIG_SEED=0x27C47F43
>> warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
>> selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>>
>> Use 'depends on' to observe the dependency.
>>
>> This commit was created by the following command:
>>
>> $ find drivers -name 'Kconfig*' | xargs sed -i -e \
>> 's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>>
>> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>>
>> Also, make MFD_SYSCON 'default y' because some defconfig files may
>> rely on someone select's MFD_SYSCON.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>> ---
>>
>> If you have a better idea to fix 'unmet dependencies',
>> please suggest.
>
> Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
> of defconfig configurations, I'd rather not do that.
Could you explain why?
I set 'default y' for MFD_SYSCON.
Would it still break defconfig configurations?
> Only score, tile and um have some configurations that select 'NO_IOMEM'.
> Score is getting removed now, tile might get removed later (we could make
> PCI mandatory in the meantime to avoid that configuration), and I think for
> um, we already have a workaround for the NO_IOMEM dependencies
> (I forget the details).
I do not think this is a stable solution.
Or, do you mean to remove NO_IOMEM and HAS_IOMEM completely?
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'
2018-02-26 11:53 ` Masahiro Yamada
@ 2018-02-26 12:43 ` Arnd Bergmann
2018-02-27 0:46 ` Masahiro Yamada
0 siblings, 1 reply; 9+ messages in thread
From: Arnd Bergmann @ 2018-02-26 12:43 UTC (permalink / raw)
To: Masahiro Yamada
Cc: Lee Jones, Greg Kroah-Hartman, Linux Kernel Mailing List,
linux-clk, Linux ARM, linux-usb
On Mon, Feb 26, 2018 at 12:53 PM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> 2018-02-26 17:43 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
>> On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
>> <yamada.masahiro@socionext.com> wrote:
>>> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
>>> used with care - it forces a lower limit of another symbol, ignoring
>>> the dependency.
>>>
>>> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
>>> select it.
>>>
>>> This causes unmet dependencies for architecture without HAS_IOMEM.
>>>
>>> $ make ARCH=score randconfig
>>> scripts/kconfig/conf --randconfig Kconfig
>>> KCONFIG_SEED=0x27C47F43
>>> warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
>>> selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>>>
>>> Use 'depends on' to observe the dependency.
>>>
>>> This commit was created by the following command:
>>>
>>> $ find drivers -name 'Kconfig*' | xargs sed -i -e \
>>> 's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>>>
>>> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>>>
>>> Also, make MFD_SYSCON 'default y' because some defconfig files may
>>> rely on someone select's MFD_SYSCON.
>>>
>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>>> ---
>>>
>>> If you have a better idea to fix 'unmet dependencies',
>>> please suggest.
>>
>> Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
>> of defconfig configurations, I'd rather not do that.
>
>
> Could you explain why?
>
> I set 'default y' for MFD_SYSCON.
>
> Would it still break defconfig configurations?
No, you are right, that would not break defconfigs, it would just mean one
useless driver being enabled for many configurations that don't need it.
>> Only score, tile and um have some configurations that select 'NO_IOMEM'.
>> Score is getting removed now, tile might get removed later (we could make
>> PCI mandatory in the meantime to avoid that configuration), and I think for
>> um, we already have a workaround for the NO_IOMEM dependencies
>> (I forget the details).
>
> I do not think this is a stable solution.
>
> Or, do you mean to remove NO_IOMEM and HAS_IOMEM completely?
We could either leave it for arch/um only and have that deal with the
issues (which I think we already have), or we could remove the options
entirely.
Arnd
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'
2018-02-26 12:43 ` Arnd Bergmann
@ 2018-02-27 0:46 ` Masahiro Yamada
2018-02-27 9:03 ` Arnd Bergmann
0 siblings, 1 reply; 9+ messages in thread
From: Masahiro Yamada @ 2018-02-27 0:46 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Lee Jones, Greg Kroah-Hartman, Linux Kernel Mailing List,
linux-clk, Linux ARM, linux-usb
2018-02-26 21:43 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> On Mon, Feb 26, 2018 at 12:53 PM, Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
>> 2018-02-26 17:43 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
>>> On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
>>> <yamada.masahiro@socionext.com> wrote:
>>>> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
>>>> used with care - it forces a lower limit of another symbol, ignoring
>>>> the dependency.
>>>>
>>>> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
>>>> select it.
>>>>
>>>> This causes unmet dependencies for architecture without HAS_IOMEM.
>>>>
>>>> $ make ARCH=score randconfig
>>>> scripts/kconfig/conf --randconfig Kconfig
>>>> KCONFIG_SEED=0x27C47F43
>>>> warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
>>>> selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>>>>
>>>> Use 'depends on' to observe the dependency.
>>>>
>>>> This commit was created by the following command:
>>>>
>>>> $ find drivers -name 'Kconfig*' | xargs sed -i -e \
>>>> 's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>>>>
>>>> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>>>>
>>>> Also, make MFD_SYSCON 'default y' because some defconfig files may
>>>> rely on someone select's MFD_SYSCON.
>>>>
>>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>>>> ---
>>>>
>>>> If you have a better idea to fix 'unmet dependencies',
>>>> please suggest.
>>>
>>> Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
>>> of defconfig configurations, I'd rather not do that.
>>
>>
>> Could you explain why?
>>
>> I set 'default y' for MFD_SYSCON.
>>
>> Would it still break defconfig configurations?
>
> No, you are right, that would not break defconfigs, it would just mean one
> useless driver being enabled for many configurations that don't need it.
If we are unhappy about this,
we can send per-arch patches
to add CONFIG_MTD_SYSCON=y to defconfigs that need it.
But, we need to decide what the right solution is.
>>> Only score, tile and um have some configurations that select 'NO_IOMEM'.
>>> Score is getting removed now, tile might get removed later (we could make
>>> PCI mandatory in the meantime to avoid that configuration), and I think for
>>> um, we already have a workaround for the NO_IOMEM dependencies
>>> (I forget the details).
>>
>> I do not think this is a stable solution.
>>
>> Or, do you mean to remove NO_IOMEM and HAS_IOMEM completely?
>
> We could either leave it for arch/um only and have that deal with the
> issues (which I think we already have), or we could remove the options
> entirely.
>
> Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-clk" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'
2018-02-27 0:46 ` Masahiro Yamada
@ 2018-02-27 9:03 ` Arnd Bergmann
2018-02-27 10:22 ` Masahiro Yamada
0 siblings, 1 reply; 9+ messages in thread
From: Arnd Bergmann @ 2018-02-27 9:03 UTC (permalink / raw)
To: Masahiro Yamada
Cc: Lee Jones, Greg Kroah-Hartman, Linux Kernel Mailing List,
linux-clk, Linux ARM, linux-usb
On Tue, Feb 27, 2018 at 1:46 AM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> 2018-02-26 21:43 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
>> On Mon, Feb 26, 2018 at 12:53 PM, Masahiro Yamada
>> <yamada.masahiro@socionext.com> wrote:
>>> 2018-02-26 17:43 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
>>>> On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
>>>> <yamada.masahiro@socionext.com> wrote:
>>>>> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
>>>>> used with care - it forces a lower limit of another symbol, ignoring
>>>>> the dependency.
>>>>>
>>>>> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
>>>>> select it.
>>>>>
>>>>> This causes unmet dependencies for architecture without HAS_IOMEM.
>>>>>
>>>>> $ make ARCH=score randconfig
>>>>> scripts/kconfig/conf --randconfig Kconfig
>>>>> KCONFIG_SEED=0x27C47F43
>>>>> warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
>>>>> selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>>>>>
>>>>> Use 'depends on' to observe the dependency.
>>>>>
>>>>> This commit was created by the following command:
>>>>>
>>>>> $ find drivers -name 'Kconfig*' | xargs sed -i -e \
>>>>> 's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>>>>>
>>>>> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>>>>>
>>>>> Also, make MFD_SYSCON 'default y' because some defconfig files may
>>>>> rely on someone select's MFD_SYSCON.
>>>>>
>>>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>>>>> ---
>>>>>
>>>>> If you have a better idea to fix 'unmet dependencies',
>>>>> please suggest.
>>>>
>>>> Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
>>>> of defconfig configurations, I'd rather not do that.
>>>
>>>
>>> Could you explain why?
>>>
>>> I set 'default y' for MFD_SYSCON.
>>>
>>> Would it still break defconfig configurations?
>>
>> No, you are right, that would not break defconfigs, it would just mean one
>> useless driver being enabled for many configurations that don't need it.
>
> If we are unhappy about this,
> we can send per-arch patches
> to add CONFIG_MTD_SYSCON=y to defconfigs that need it.
>
> But, we need to decide what the right solution is.
I think for consistency, we should change the existing
'depends on MFD_SYSCON' to 'select MFD_SYSCON'. This
matches what we do with REGMAP_MMIO.
MFD_SYSCON is really a thin wrapper around REGMAP_MMIO,
so I would keep using the same conventions here, even though
we normally prefer to not 'select' any user-visible options.
It might be possible to make MFD_SYSCON a silent symbol
as well, but we'd have to make sure that all users select the symbol
then.
Arnd
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'
2018-02-27 9:03 ` Arnd Bergmann
@ 2018-02-27 10:22 ` Masahiro Yamada
2018-02-27 13:39 ` Arnd Bergmann
0 siblings, 1 reply; 9+ messages in thread
From: Masahiro Yamada @ 2018-02-27 10:22 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Lee Jones, Greg Kroah-Hartman, Linux Kernel Mailing List,
linux-clk, Linux ARM, linux-usb
2018-02-27 18:03 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> On Tue, Feb 27, 2018 at 1:46 AM, Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
>> 2018-02-26 21:43 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
>>> On Mon, Feb 26, 2018 at 12:53 PM, Masahiro Yamada
>>> <yamada.masahiro@socionext.com> wrote:
>>>> 2018-02-26 17:43 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
>>>>> On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
>>>>> <yamada.masahiro@socionext.com> wrote:
>>>>>> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
>>>>>> used with care - it forces a lower limit of another symbol, ignoring
>>>>>> the dependency.
>>>>>>
>>>>>> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
>>>>>> select it.
>>>>>>
>>>>>> This causes unmet dependencies for architecture without HAS_IOMEM.
>>>>>>
>>>>>> $ make ARCH=score randconfig
>>>>>> scripts/kconfig/conf --randconfig Kconfig
>>>>>> KCONFIG_SEED=0x27C47F43
>>>>>> warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
>>>>>> selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>>>>>>
>>>>>> Use 'depends on' to observe the dependency.
>>>>>>
>>>>>> This commit was created by the following command:
>>>>>>
>>>>>> $ find drivers -name 'Kconfig*' | xargs sed -i -e \
>>>>>> 's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>>>>>>
>>>>>> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>>>>>>
>>>>>> Also, make MFD_SYSCON 'default y' because some defconfig files may
>>>>>> rely on someone select's MFD_SYSCON.
>>>>>>
>>>>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>>>>>> ---
>>>>>>
>>>>>> If you have a better idea to fix 'unmet dependencies',
>>>>>> please suggest.
>>>>>
>>>>> Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
>>>>> of defconfig configurations, I'd rather not do that.
>>>>
>>>>
>>>> Could you explain why?
>>>>
>>>> I set 'default y' for MFD_SYSCON.
>>>>
>>>> Would it still break defconfig configurations?
>>>
>>> No, you are right, that would not break defconfigs, it would just mean one
>>> useless driver being enabled for many configurations that don't need it.
>>
>> If we are unhappy about this,
>> we can send per-arch patches
>> to add CONFIG_MTD_SYSCON=y to defconfigs that need it.
>>
>> But, we need to decide what the right solution is.
>
> I think for consistency, we should change the existing
> 'depends on MFD_SYSCON' to 'select MFD_SYSCON'. This
> matches what we do with REGMAP_MMIO.
>
> MFD_SYSCON is really a thin wrapper around REGMAP_MMIO,
> so I would keep using the same conventions here, even though
> we normally prefer to not 'select' any user-visible options.
>
> It might be possible to make MFD_SYSCON a silent symbol
> as well, but we'd have to make sure that all users select the symbol
> then.
>
> Arnd
If we agree, I can send the following three patches.
[1] Add "depends on HAS_IOMEM"
to all drivers selecting MFD_SYSCON
(Unmet dependencies will be fixed by this)
[2] For consistency, convert existing "depends on MFD_SYSCON"
to "select MFD_SYSCON" + "depends on HAS_IOMEM"
[3] Change MFD_SYSCON to user-unconfigurable option.
But, for COMPILE_TEST, allow users to enable it independently.
Like follows:
config MFD_SYSCON
bool "System Controller Register R/W Based on Regmap" if COMPILE_TEST
select REGMAP_MMIO
help
Select this option to enable accessing system control registers
via regmap.
Is this OK?
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'
2018-02-27 10:22 ` Masahiro Yamada
@ 2018-02-27 13:39 ` Arnd Bergmann
0 siblings, 0 replies; 9+ messages in thread
From: Arnd Bergmann @ 2018-02-27 13:39 UTC (permalink / raw)
To: Masahiro Yamada
Cc: Lee Jones, Greg Kroah-Hartman, Linux Kernel Mailing List,
linux-clk, Linux ARM, linux-usb
On Tue, Feb 27, 2018 at 11:22 AM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> 2018-02-27 18:03 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
>> On Tue, Feb 27, 2018 at 1:46 AM, Masahiro Yamada
>> <yamada.masahiro@socionext.com> wrote:
>>> But, we need to decide what the right solution is.
>>
>> I think for consistency, we should change the existing
>> 'depends on MFD_SYSCON' to 'select MFD_SYSCON'. This
>> matches what we do with REGMAP_MMIO.
>>
>> MFD_SYSCON is really a thin wrapper around REGMAP_MMIO,
>> so I would keep using the same conventions here, even though
>> we normally prefer to not 'select' any user-visible options.
>>
>> It might be possible to make MFD_SYSCON a silent symbol
>> as well, but we'd have to make sure that all users select the symbol
>> then.
>>
>> Arnd
>
>
> If we agree, I can send the following three patches.
>
>
> [1] Add "depends on HAS_IOMEM"
> to all drivers selecting MFD_SYSCON
> (Unmet dependencies will be fixed by this)
>
> [2] For consistency, convert existing "depends on MFD_SYSCON"
> to "select MFD_SYSCON" + "depends on HAS_IOMEM"
Those sound good.
> [3] Change MFD_SYSCON to user-unconfigurable option.
> But, for COMPILE_TEST, allow users to enable it independently.
> Like follows:
>
> config MFD_SYSCON
> bool "System Controller Register R/W Based on Regmap" if COMPILE_TEST
> select REGMAP_MMIO
> help
> Select this option to enable accessing system control registers
> via regmap.
>
>
> Is this OK?
I'm unsure about the third one, since we have drivers that can optionally
use syscon, depending on the platform. With this change, any user that
manually enabled syscon to use that with a driver that requires it on their
platform but not on others will see a regression.
If we do make MFD_SYSCON a silent option like that, we should remove
the #else section in include/linux/mfd/syscon.h to force a build error,
and require all drivers to 'select MFD_SYSCON' if they are able to use it.
Arnd
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-02-27 13:39 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-24 14:50 [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON' Masahiro Yamada
2018-02-25 12:13 ` Andy Shevchenko
2018-02-26 8:43 ` Arnd Bergmann
2018-02-26 11:53 ` Masahiro Yamada
2018-02-26 12:43 ` Arnd Bergmann
2018-02-27 0:46 ` Masahiro Yamada
2018-02-27 9:03 ` Arnd Bergmann
2018-02-27 10:22 ` Masahiro Yamada
2018-02-27 13:39 ` Arnd Bergmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).