linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency
@ 2016-03-03  8:03 Krzysztof Kozlowski
  2016-03-03  8:03 ` [RFC 01/15] clocksource: atmel: Add missing MFD_SYSCON dependency on HAS_IOMEM Krzysztof Kozlowski
                   ` (14 more replies)
  0 siblings, 15 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

Hi,

Building allyesconfig on ARCH=um fails with:
   drivers/mfd/syscon.c: In function ‘of_syscon_register’:
   drivers/mfd/syscon.c:67:9: error: implicit declaration of function ‘ioremap’ [-Werror=implicit-function-declaration]
      base = ioremap(res.start, resource_size(&res));

Since commit c89c0114955a ("mfd: syscon: Set regmap max_register in
of_syscon_register") the syscon depends on HAS_IOMEM because
it uses the ioremap().

However syscon is often directly selected... so first the dependency on
HAS_IOMEM has to be added to all selecting symbols.

Comments are welcomed whether this is appropriate approach.


The last patch "mfd: syscon: Fix build of missing ioremap on UM" should
enter all other to avoid kbuild complains like:

warning: (ST_IRQCHIP && HIP04_ETH && STMMAC_PLATFORM && DWMAC_IPQ806X &&
DWMAC_LPC18XX && DWMAC_ROCKCHIP && DWMAC_SOCFPGA && DWMAC_STI && TI_CPSW
&& PINCTRL_ROCKCHIP && PINCTRL_DOVE && POWER_RESET_KEYSTONE &&
S3C2410_WATCHDOG && VIDEO_OMAP3 && VIDEO_S5P_FIMC && USB_XHCI_MTK &&
RTC_DRV_AT91SAM9 && LPC18XX_DMAMUX && VIDEO_OMAP4 && HWSPINLOCK_QCOM && ATMEL_ST
&& QCOM_GSBI && PHY_HI6220_USB)
selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)


Best regards,
Krzysztof


Krzysztof Kozlowski (15):
  clocksource: atmel: Add missing MFD_SYSCON dependency on HAS_IOMEM
  dmaengine: nxp: Add missing MFD_SYSCON dependency on HAS_IOMEM
  hwspinlock: qcom: Add missing MFD_SYSCON dependency on HAS_IOMEM
  irqchip: st: Add missing MFD_SYSCON dependency on HAS_IOMEM
  phy: hi6220: Add missing MFD_SYSCON dependency on HAS_IOMEM
  pinctrl: rockchip: Add missing MFD_SYSCON dependency on HAS_IOMEM
  pinctrl: mvebu: Add missing MFD_SYSCON dependency on HAS_IOMEM
  rtc: at91sam9: Add missing MFD_SYSCON dependency on HAS_IOMEM
  media: platform: Add missing MFD_SYSCON dependency on HAS_IOMEM
  net: ethernet: Add missing MFD_SYSCON dependency on HAS_IOMEM
  power: reset: keystone: Add missing MFD_SYSCON dependency on HAS_IOMEM
  soc: qcom: Add missing MFD_SYSCON dependency on HAS_IOMEM
  staging: media: omap4iss: Add missing MFD_SYSCON dependency on
    HAS_IOMEM
  usb: xhci: mtk: Add missing MFD_SYSCON dependency on HAS_IOMEM
  mfd: syscon: Fix build of missing ioremap on UM

 drivers/clocksource/Kconfig                 | 1 +
 drivers/dma/Kconfig                         | 1 +
 drivers/hwspinlock/Kconfig                  | 1 +
 drivers/irqchip/Kconfig                     | 1 +
 drivers/media/platform/Kconfig              | 1 +
 drivers/media/platform/exynos4-is/Kconfig   | 1 +
 drivers/mfd/Kconfig                         | 1 +
 drivers/net/ethernet/hisilicon/Kconfig      | 1 +
 drivers/net/ethernet/stmicro/stmmac/Kconfig | 6 ++++++
 drivers/net/ethernet/ti/Kconfig             | 1 +
 drivers/phy/Kconfig                         | 1 +
 drivers/pinctrl/Kconfig                     | 1 +
 drivers/pinctrl/mvebu/Kconfig               | 1 +
 drivers/power/reset/Kconfig                 | 1 +
 drivers/rtc/Kconfig                         | 1 +
 drivers/soc/qcom/Kconfig                    | 1 +
 drivers/staging/media/omap4iss/Kconfig      | 1 +
 drivers/usb/host/Kconfig                    | 1 +
 18 files changed, 23 insertions(+)

-- 
2.5.0

^ permalink raw reply	[flat|nested] 42+ messages in thread

* [RFC 01/15] clocksource: atmel: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 10:52   ` Arnd Bergmann
  2016-03-03  8:03 ` [RFC 02/15] dmaengine: nxp: " Krzysztof Kozlowski
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/clocksource/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index c346be650892..5927944b46e0 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -239,6 +239,7 @@ config ATMEL_PIT
 
 config ATMEL_ST
 	bool
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select CLKSRC_OF
 	select MFD_SYSCON
 
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 02/15] dmaengine: nxp: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
  2016-03-03  8:03 ` [RFC 01/15] clocksource: atmel: Add missing MFD_SYSCON dependency on HAS_IOMEM Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 10:52   ` Arnd Bergmann
  2016-03-03  8:03 ` [RFC 03/15] hwspinlock: qcom: " Krzysztof Kozlowski
                   ` (12 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/dma/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index c77f214c9466..7fbf96bff280 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -290,6 +290,7 @@ config LPC18XX_DMAMUX
 	bool "NXP LPC18xx/43xx DMA MUX for PL080"
 	depends on ARCH_LPC18XX || COMPILE_TEST
 	depends on OF && AMBA_PL08X
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	help
 	  Enable support for DMA on NXP LPC18xx/43xx platforms
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 03/15] hwspinlock: qcom: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
  2016-03-03  8:03 ` [RFC 01/15] clocksource: atmel: Add missing MFD_SYSCON dependency on HAS_IOMEM Krzysztof Kozlowski
  2016-03-03  8:03 ` [RFC 02/15] dmaengine: nxp: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 10:53   ` Arnd Bergmann
  2016-03-03  8:03 ` [RFC 04/15] irqchip: st: " Krzysztof Kozlowski
                   ` (11 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/hwspinlock/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig
index 73a401662853..5ab2d51dc147 100644
--- a/drivers/hwspinlock/Kconfig
+++ b/drivers/hwspinlock/Kconfig
@@ -21,6 +21,7 @@ config HWSPINLOCK_OMAP
 config HWSPINLOCK_QCOM
 	tristate "Qualcomm Hardware Spinlock device"
 	depends on ARCH_QCOM
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select HWSPINLOCK
 	select MFD_SYSCON
 	help
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 04/15] irqchip: st: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (2 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 03/15] hwspinlock: qcom: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 10:53   ` Arnd Bergmann
  2016-03-03  8:03 ` [RFC 05/15] phy: hi6220: " Krzysztof Kozlowski
                   ` (10 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/irqchip/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index 00bbec6eca0b..10775b099daa 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -157,6 +157,7 @@ config RENESAS_IRQC
 config ST_IRQCHIP
 	bool
 	select REGMAP
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	help
 	  Enables SysCfg Controlled IRQs on STi based platforms.
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 05/15] phy: hi6220: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (3 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 04/15] irqchip: st: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 10:54   ` Arnd Bergmann
  2016-03-03  8:03 ` [RFC 06/15] pinctrl: rockchip: " Krzysztof Kozlowski
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/phy/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
index 0124d17bd9fe..cfdb3551a675 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -225,6 +225,7 @@ config PHY_MT65XX_USB3
 config PHY_HI6220_USB
 	tristate "hi6220 USB PHY support"
 	depends on (ARCH_HISI && ARM64) || COMPILE_TEST
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select GENERIC_PHY
 	select MFD_SYSCON
 	help
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 06/15] pinctrl: rockchip: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (4 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 05/15] phy: hi6220: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 12:44   ` [rtc-linux] " Krzysztof Kozlowski
  2016-03-03  8:03 ` [RFC 07/15] pinctrl: mvebu: " Krzysztof Kozlowski
                   ` (8 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/pinctrl/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index fb8200b8e8ec..dc7ab58d4d74 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -131,6 +131,7 @@ config PINCTRL_MESON
 
 config PINCTRL_ROCKCHIP
 	bool
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select PINMUX
 	select GENERIC_PINCONF
 	select GENERIC_IRQ_CHIP
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 07/15] pinctrl: mvebu: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (5 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 06/15] pinctrl: rockchip: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 12:43   ` [rtc-linux] " Krzysztof Kozlowski
  2016-03-03  8:03 ` [RFC 08/15] rtc: at91sam9: " Krzysztof Kozlowski
                   ` (7 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/pinctrl/mvebu/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pinctrl/mvebu/Kconfig b/drivers/pinctrl/mvebu/Kconfig
index 170602407c0d..13685923729c 100644
--- a/drivers/pinctrl/mvebu/Kconfig
+++ b/drivers/pinctrl/mvebu/Kconfig
@@ -7,6 +7,7 @@ config PINCTRL_MVEBU
 
 config PINCTRL_DOVE
 	bool
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select PINCTRL_MVEBU
 	select MFD_SYSCON
 
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 08/15] rtc: at91sam9: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (6 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 07/15] pinctrl: mvebu: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 10:55   ` Arnd Bergmann
  2016-03-03  8:03 ` [RFC 09/15] media: platform: " Krzysztof Kozlowski
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/rtc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 0da40e2e4280..5c530b6b125d 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -1302,6 +1302,7 @@ config RTC_DRV_AT91RM9200
 config RTC_DRV_AT91SAM9
 	tristate "AT91SAM9 RTT as RTC"
 	depends on ARCH_AT91 || COMPILE_TEST
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	help
 	  Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 09/15] media: platform: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (7 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 08/15] rtc: at91sam9: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 10:57   ` Arnd Bergmann
  2016-03-03  8:03 ` [RFC 10/15] net: ethernet: " Krzysztof Kozlowski
                   ` (5 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/media/platform/Kconfig            | 1 +
 drivers/media/platform/exynos4-is/Kconfig | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 201f5c296a95..e5931e434fa2 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -79,6 +79,7 @@ config VIDEO_OMAP3
 	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3
 	depends on HAS_DMA && OF
 	depends on OMAP_IOMMU
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select ARM_DMA_USE_IOMMU
 	select VIDEOBUF2_DMA_CONTIG
 	select MFD_SYSCON
diff --git a/drivers/media/platform/exynos4-is/Kconfig b/drivers/media/platform/exynos4-is/Kconfig
index 57d42c6172c5..c4317b99d257 100644
--- a/drivers/media/platform/exynos4-is/Kconfig
+++ b/drivers/media/platform/exynos4-is/Kconfig
@@ -17,6 +17,7 @@ config VIDEO_S5P_FIMC
 	tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver"
 	depends on I2C
 	depends on HAS_DMA
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select VIDEOBUF2_DMA_CONTIG
 	select V4L2_MEM2MEM_DEV
 	select MFD_SYSCON
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 10/15] net: ethernet: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (8 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 09/15] media: platform: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 10:59   ` Arnd Bergmann
  2016-03-03  8:03 ` [RFC 11/15] power: reset: keystone: " Krzysztof Kozlowski
                   ` (4 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/net/ethernet/hisilicon/Kconfig      | 1 +
 drivers/net/ethernet/stmicro/stmmac/Kconfig | 6 ++++++
 drivers/net/ethernet/ti/Kconfig             | 1 +
 3 files changed, 8 insertions(+)

diff --git a/drivers/net/ethernet/hisilicon/Kconfig b/drivers/net/ethernet/hisilicon/Kconfig
index 74beb1867230..6a9c91781bf9 100644
--- a/drivers/net/ethernet/hisilicon/Kconfig
+++ b/drivers/net/ethernet/hisilicon/Kconfig
@@ -26,6 +26,7 @@ config HIX5HD2_GMAC
 config HIP04_ETH
 	tristate "HISILICON P04 Ethernet support"
 	select MARVELL_PHY
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	select HNS_MDIO
 	---help---
diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig
index cec147d1d34f..d6902bf6e90f 100644
--- a/drivers/net/ethernet/stmicro/stmmac/Kconfig
+++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig
@@ -16,6 +16,7 @@ if STMMAC_ETH
 config STMMAC_PLATFORM
 	tristate "STMMAC Platform bus support"
 	depends on STMMAC_ETH
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	default y
 	---help---
@@ -41,6 +42,7 @@ config DWMAC_IPQ806X
 	tristate "QCA IPQ806x DWMAC support"
 	default ARCH_QCOM
 	depends on OF
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	help
 	  Support for QCA IPQ806X DWMAC Ethernet.
@@ -54,6 +56,7 @@ config DWMAC_LPC18XX
 	tristate "NXP LPC18xx/43xx DWMAC support"
 	default ARCH_LPC18XX
 	depends on OF
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	---help---
 	  Support for NXP LPC18xx/43xx DWMAC Ethernet.
@@ -73,6 +76,7 @@ config DWMAC_ROCKCHIP
 	tristate "Rockchip dwmac support"
 	default ARCH_ROCKCHIP
 	depends on OF
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	help
 	  Support for Ethernet controller on Rockchip RK3288 SoC.
@@ -84,6 +88,7 @@ config DWMAC_SOCFPGA
 	tristate "SOCFPGA dwmac support"
 	default ARCH_SOCFPGA
 	depends on OF
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	help
 	  Support for ethernet controller on Altera SOCFPGA
@@ -96,6 +101,7 @@ config DWMAC_STI
 	tristate "STi GMAC support"
 	default ARCH_STI
 	depends on OF
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	---help---
 	  Support for ethernet controller on STi SOCs.
diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
index e7f0b7d95b65..ec56cebe929d 100644
--- a/drivers/net/ethernet/ti/Kconfig
+++ b/drivers/net/ethernet/ti/Kconfig
@@ -62,6 +62,7 @@ config TI_CPSW_ALE
 config TI_CPSW
 	tristate "TI CPSW Switch Support"
 	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select TI_DAVINCI_CPDMA
 	select TI_DAVINCI_MDIO
 	select TI_CPSW_PHY_SEL
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 11/15] power: reset: keystone: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (9 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 10/15] net: ethernet: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 11:00   ` Arnd Bergmann
  2016-03-03  8:03 ` [RFC 12/15] soc: qcom: " Krzysztof Kozlowski
                   ` (3 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/power/reset/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
index 0a6408a39c66..0f34846ae80d 100644
--- a/drivers/power/reset/Kconfig
+++ b/drivers/power/reset/Kconfig
@@ -141,6 +141,7 @@ config POWER_RESET_XGENE
 config POWER_RESET_KEYSTONE
 	bool "Keystone reset driver"
 	depends on ARCH_KEYSTONE
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	help
 	  Reboot support for the KEYSTONE SoCs.
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 12/15] soc: qcom: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (10 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 11/15] power: reset: keystone: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 12:43   ` [rtc-linux] " Krzysztof Kozlowski
  2016-03-03  8:03 ` [RFC 13/15] staging: media: omap4iss: " Krzysztof Kozlowski
                   ` (2 subsequent siblings)
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/soc/qcom/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index 461b387d03cc..24de48134c15 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -4,6 +4,7 @@
 config QCOM_GSBI
         tristate "QCOM General Serial Bus Interface"
         depends on ARCH_QCOM
+        depends on HAS_IOMEM	# For MFD_SYSCON
         select MFD_SYSCON
         help
           Say y here to enable GSBI support.  The GSBI provides control
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 13/15] staging: media: omap4iss: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (11 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 12/15] soc: qcom: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 12:42   ` [rtc-linux] " Krzysztof Kozlowski
  2016-03-03  8:03 ` [RFC 14/15] usb: xhci: mtk: " Krzysztof Kozlowski
  2016-03-03  8:03 ` [RFC 15/15] mfd: syscon: Fix build of missing ioremap on UM Krzysztof Kozlowski
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/staging/media/omap4iss/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/media/omap4iss/Kconfig b/drivers/staging/media/omap4iss/Kconfig
index 46183464ee79..7dea072172aa 100644
--- a/drivers/staging/media/omap4iss/Kconfig
+++ b/drivers/staging/media/omap4iss/Kconfig
@@ -2,6 +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
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	select VIDEOBUF2_DMA_CONTIG
 	---help---
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 14/15] usb: xhci: mtk: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (12 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 13/15] staging: media: omap4iss: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 11:01   ` Arnd Bergmann
  2016-03-03  8:03 ` [RFC 15/15] mfd: syscon: Fix build of missing ioremap on UM Krzysztof Kozlowski
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
direct dependencies.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/usb/host/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 8c20ebbc049c..f759a778d606 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -45,6 +45,7 @@ config USB_XHCI_PLATFORM
 
 config USB_XHCI_MTK
 	tristate "xHCI support for Mediatek MT65xx"
+	depends on HAS_IOMEM	# For MFD_SYSCON
 	select MFD_SYSCON
 	depends on ARCH_MEDIATEK || COMPILE_TEST
 	---help---
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* [RFC 15/15] mfd: syscon: Fix build of missing ioremap on UM
  2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
                   ` (13 preceding siblings ...)
  2016-03-03  8:03 ` [RFC 14/15] usb: xhci: mtk: " Krzysztof Kozlowski
@ 2016-03-03  8:03 ` Krzysztof Kozlowski
  2016-03-03 10:50   ` Arnd Bergmann
  14 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03  8:03 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, rtc-linux, linux-arm-msm, linux-soc, devel,
	linux-usb
  Cc: Krzysztof Kozlowski

Since commit c89c0114955a ("mfd: syscon: Set regmap max_register in
of_syscon_register") the syscon uses ioremap so it fails on COMPILE_TEST
without HAS_IOMEM:

drivers/mfd/syscon.c: In function ‘of_syscon_register’:
drivers/mfd/syscon.c:67:9: error: implicit declaration of function ‘ioremap’ [-Werror=implicit-function-declaration]
  base = ioremap(res.start, resource_size(&res));
         ^
drivers/mfd/syscon.c:67:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
  base = ioremap(res.start, resource_size(&res));
       ^
drivers/mfd/syscon.c:109:2: error: implicit declaration of function ‘iounmap’ [-Werror=implicit-function-declaration]
  iounmap(base);

When selecting MFD_SYSCON, depend on HAS_IOMEM to avoid unmet direct
dependencies.

Reported-by: kbuild test robot <lkp@intel.com>
Fixes: c89c0114955a ("mfd: syscon: Set regmap max_register in of_syscon_register")
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/mfd/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index aa21dc55eb15..2e5b1e525a1d 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -1034,6 +1034,7 @@ config MFD_SUN6I_PRCM
 
 config MFD_SYSCON
 	bool "System Controller Register R/W Based on Regmap"
+	depends on HAS_IOMEM
 	select REGMAP_MMIO
 	help
 	  Select this option to enable accessing system control registers
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* Re: [RFC 15/15] mfd: syscon: Fix build of missing ioremap on UM
  2016-03-03  8:03 ` [RFC 15/15] mfd: syscon: Fix build of missing ioremap on UM Krzysztof Kozlowski
@ 2016-03-03 10:50   ` Arnd Bergmann
  2016-03-03 12:24     ` [rtc-linux] " Krzysztof Kozlowski
  0 siblings, 1 reply; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 10:50 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: k.kozlowski, daniel.lezcano, tglx, dan.j.williams, vinod.koul,
	jason, marc.zyngier, mchehab, lee.jones, peppe.cavallaro, kishon,
	linus.walleij, sre, dbaryshkov, dwmw2, a.zummo,
	alexandre.belloni, andy.gross, david.brown, laurent.pinchart,
	gregkh, linux-kernel, dmaengine, linux-media, linux-samsung-soc,
	netdev, linux-gpio, linux-pm, rtc-linux, linux-arm-msm,
	linux-soc, devel, linux-usb, Richard Weinberger

On Thursday 03 March 2016 17:03:41 Krzysztof Kozlowski wrote:
> Since commit c89c0114955a ("mfd: syscon: Set regmap max_register in
> of_syscon_register") the syscon uses ioremap so it fails on COMPILE_TEST
> without HAS_IOMEM:
> 
> drivers/mfd/syscon.c: In function ‘of_syscon_register’:
> drivers/mfd/syscon.c:67:9: error: implicit declaration of function ‘ioremap’ [-Werror=implicit-function-declaration]
>   base = ioremap(res.start, resource_size(&res));
>          ^
> drivers/mfd/syscon.c:67:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
>   base = ioremap(res.start, resource_size(&res));
>        ^
> drivers/mfd/syscon.c:109:2: error: implicit declaration of function ‘iounmap’ [-Werror=implicit-function-declaration]
>   iounmap(base);
> 
> When selecting MFD_SYSCON, depend on HAS_IOMEM to avoid unmet direct
> dependencies.
> 
> Reported-by: kbuild test robot <lkp@intel.com>
> Fixes: c89c0114955a ("mfd: syscon: Set regmap max_register in of_syscon_register")
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---

Thanks for looking into this, the patches all look right to me, but
I fear we are forever playing catch-up here, as the number of syscon users
is only growing, and it's not obvious to the average driver developer
why they have to select this symbol.

Interestingly, when I try to build an allmodconfig kernel for UML,
it seems to reject any driver calling ioremap/iounmap but not
the wrapper functions around that (of_iomap, devm_ioremap,
devm_ioremap_resource, ...) or the actual accessors that make no
sense without ioremap (readl, writel, inb, outb, iowrite32, ...).

I've played with this a bit, and arrived at the patch below, is this
something we want as well?

	Arnd

> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index aa21dc55eb15..2e5b1e525a1d 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -1034,6 +1034,7 @@ config MFD_SUN6I_PRCM
>  
>  config MFD_SYSCON
>  	bool "System Controller Register R/W Based on Regmap"
> +	depends on HAS_IOMEM
>  	select REGMAP_MMIO
>  	help
>  	  Select this option to enable accessing system control registers
> 


 arch/um/include/asm/io.h           |    1 +
 drivers/char/Kconfig               |    3 +++
 drivers/char/mem.c                 |   16 ++++++++++++++++
 drivers/clocksource/Kconfig        |    3 +++
 drivers/fmc/Kconfig                |    1 +
 drivers/fpga/Kconfig               |    1 +
 drivers/hwtracing/intel_th/Kconfig |    1 +
 drivers/mfd/Kconfig                |    1 +
 drivers/misc/altera-stapl/Kconfig  |    2 +-
 drivers/mtd/chips/Kconfig          |    4 ++++
 drivers/mtd/lpddr/Kconfig          |    1 +
 drivers/mtd/maps/Kconfig           |    3 ++-
 drivers/mtd/nand/Kconfig           |    2 +-
 drivers/mtd/spi-nor/Kconfig        |    1 +
 drivers/net/can/Kconfig            |    1 +
 drivers/net/hamradio/Kconfig       |    9 ++++++---
 drivers/nvmem/Kconfig              |    1 +
 drivers/phy/Kconfig                |    9 +++++++--
 drivers/power/reset/Kconfig        |    4 +++-
 drivers/staging/comedi/Kconfig     |    6 +++++-
 drivers/thermal/Kconfig            |   11 +++++++++--
 include/linux/irq.h                |    2 ++
 include/linux/mtd/cfi.h            |    2 ++
 include/linux/mtd/map.h            |    2 ++
 kernel/resource.c                  |    2 ++
 lib/Kconfig                        |    7 ++++++-
 mm/bootmem.c                       |    4 ++--
 27 files changed, 85 insertions(+), 15 deletions(-)

diff --git a/arch/um/include/asm/io.h b/arch/um/include/asm/io.h
new file mode 100644
index 0000000..618ff13
--- /dev/null
+++ b/arch/um/include/asm/io.h
@@ -0,0 +1 @@
+/* no IOPORT or IOMEM suport */
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index a043107..f6dc17a 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -8,6 +8,7 @@ source "drivers/tty/Kconfig"
 
 config DEVMEM
 	bool "/dev/mem virtual device support"
+	depends on HAS_IOMEM
 	default y
 	help
 	  Say Y here if you want to support the /dev/mem device.
@@ -17,6 +18,7 @@ config DEVMEM
 
 config DEVKMEM
 	bool "/dev/kmem virtual device support"
+	depends on HAS_IOMEM
 	default y
 	help
 	  Say Y here if you want to support the /dev/kmem device. The
@@ -94,6 +96,7 @@ config BFIN_OTP_WRITE_ENABLE
 config PRINTER
 	tristate "Parallel printer support"
 	depends on PARPORT
+	depends on HAS_IOPORT
 	---help---
 	  If you intend to attach a printer to the parallel port of your Linux
 	  box (as opposed to using a serial printer; if the connector at the
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 4f6f94c..eedd129 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -91,6 +91,7 @@ void __weak unxlate_dev_mem_ptr(phys_addr_t phys, void *addr)
 }
 #endif
 
+#ifdef CONFIG_DEVMEM
 /*
  * This funcion reads the *physical* memory. The f_pos points directly to the
  * memory location.
@@ -219,6 +220,7 @@ static ssize_t write_mem(struct file *file, const char __user *buf,
 	*ppos += written;
 	return written;
 }
+#endif
 
 int __weak phys_mem_access_prot_allowed(struct file *file,
 	unsigned long pfn, unsigned long size, pgprot_t *vma_prot)
@@ -312,6 +314,7 @@ static inline int private_mapping_ok(struct vm_area_struct *vma)
 }
 #endif
 
+#ifdef CONFIG_DEVMEM
 static const struct vm_operations_struct mmap_mem_ops = {
 #ifdef CONFIG_HAVE_IOREMAP_PROT
 	.access = generic_access_phys
@@ -351,7 +354,9 @@ static int mmap_mem(struct file *file, struct vm_area_struct *vma)
 	}
 	return 0;
 }
+#endif
 
+#ifdef CONFIG_DEVKMEM
 static int mmap_kmem(struct file *file, struct vm_area_struct *vma)
 {
 	unsigned long pfn;
@@ -552,7 +557,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf,
 	*ppos = p;
 	return virtr + wrote ? : err;
 }
+#endif
 
+#ifdef CONFIG_DEVPORT
 static ssize_t read_port(struct file *file, char __user *buf,
 			 size_t count, loff_t *ppos)
 {
@@ -594,6 +601,7 @@ static ssize_t write_port(struct file *file, const char __user *buf,
 	*ppos = i;
 	return tmp-buf;
 }
+#endif
 
 static ssize_t read_null(struct file *file, char __user *buf,
 			 size_t count, loff_t *ppos)
@@ -710,10 +718,12 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
 	return ret;
 }
 
+#ifdef CONFIG_DEVPORT
 static int open_port(struct inode *inode, struct file *filp)
 {
 	return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
 }
+#endif
 
 #define zero_lseek	null_lseek
 #define full_lseek      null_lseek
@@ -722,6 +732,7 @@ static int open_port(struct inode *inode, struct file *filp)
 #define open_mem	open_port
 #define open_kmem	open_mem
 
+#ifdef CONFIG_DEVMEM
 static const struct file_operations __maybe_unused mem_fops = {
 	.llseek		= memory_lseek,
 	.read		= read_mem,
@@ -733,7 +744,9 @@ static const struct file_operations __maybe_unused mem_fops = {
 	.mmap_capabilities = memory_mmap_capabilities,
 #endif
 };
+#endif
 
+#ifdef CONFIG_DEVKMEM
 static const struct file_operations __maybe_unused kmem_fops = {
 	.llseek		= memory_lseek,
 	.read		= read_kmem,
@@ -745,6 +758,7 @@ static const struct file_operations __maybe_unused kmem_fops = {
 	.mmap_capabilities = memory_mmap_capabilities,
 #endif
 };
+#endif
 
 static const struct file_operations null_fops = {
 	.llseek		= null_lseek,
@@ -755,12 +769,14 @@ static const struct file_operations null_fops = {
 	.splice_write	= splice_write_null,
 };
 
+#ifdef CONFIG_DEVPORT
 static const struct file_operations __maybe_unused port_fops = {
 	.llseek		= memory_lseek,
 	.read		= read_port,
 	.write		= write_port,
 	.open		= open_port,
 };
+#endif
 
 static const struct file_operations zero_fops = {
 	.llseek		= zero_lseek,
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index 33db740..6b58974 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -38,6 +38,7 @@ config DIGICOLOR_TIMER
 config DW_APB_TIMER
 	bool "DW APB timer driver" if COMPILE_TEST
 	depends on GENERIC_CLOCKEVENTS
+	depends on HAS_IOMEM
 	help
 	  Enables the support for the dw_apb timer.
 
@@ -64,6 +65,7 @@ config ARMADA_370_XP_TIMER
 config MESON6_TIMER
 	bool "Meson6 timer driver" if COMPILE_TEST
 	depends on GENERIC_CLOCKEVENTS
+	depends on HAS_IOMEM
 	select CLKSRC_MMIO
 	help
 	  Enables the support for the Meson6 timer driver.
@@ -114,6 +116,7 @@ config CADENCE_TTC_TIMER
 config ASM9260_TIMER
 	bool "ASM9260 timer driver" if COMPILE_TEST
 	depends on GENERIC_CLOCKEVENTS
+	depends on HAS_IOMEM
 	select CLKSRC_MMIO
 	select CLKSRC_OF
 	help
diff --git a/drivers/fmc/Kconfig b/drivers/fmc/Kconfig
index 3a75f42..adf1391 100644
--- a/drivers/fmc/Kconfig
+++ b/drivers/fmc/Kconfig
@@ -4,6 +4,7 @@
 
 menuconfig FMC
 	tristate "FMC support"
+	depends on HAS_IOMEM
 	help
 
 	  FMC (FPGA Mezzanine Carrier) is a mechanical and electrical
diff --git a/drivers/fpga/Kconfig b/drivers/fpga/Kconfig
index c9b9fdf..36c54af 100644
--- a/drivers/fpga/Kconfig
+++ b/drivers/fpga/Kconfig
@@ -21,6 +21,7 @@ config FPGA_MGR_SOCFPGA
 
 config FPGA_MGR_ZYNQ_FPGA
 	tristate "Xilinx Zynq FPGA"
+	depends on HAS_IOMEM
 	help
 	  FPGA manager driver support for Xilinx Zynq FPGAs.
 
diff --git a/drivers/hwtracing/intel_th/Kconfig b/drivers/hwtracing/intel_th/Kconfig
index b7a9073..467dae9 100644
--- a/drivers/hwtracing/intel_th/Kconfig
+++ b/drivers/hwtracing/intel_th/Kconfig
@@ -1,5 +1,6 @@
 config INTEL_TH
 	tristate "Intel(R) Trace Hub controller"
+	depends on HAS_IOMEM
 	help
 	  Intel(R) Trace Hub (TH) is a set of hardware blocks (subdevices) that
 	  produce, switch and output trace data from multiple hardware and
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 9ca66de..6ff6246 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -999,6 +999,7 @@ config MFD_SUN6I_PRCM
 
 config MFD_SYSCON
 	bool "System Controller Register R/W Based on Regmap"
+	depends on HAS_IOMEM
 	select REGMAP_MMIO
 	help
 	  Select this option to enable accessing system control registers
diff --git a/drivers/misc/altera-stapl/Kconfig b/drivers/misc/altera-stapl/Kconfig
index 7f01d8e..c7e4c77 100644
--- a/drivers/misc/altera-stapl/Kconfig
+++ b/drivers/misc/altera-stapl/Kconfig
@@ -2,7 +2,7 @@ comment "Altera FPGA firmware download module"
 
 config ALTERA_STAPL
 	tristate "Altera FPGA firmware download module"
-	depends on I2C
+	depends on I2C && HAS_IOPORT
 	default n
 	help
 	  An Altera FPGA module. Say Y when you want to support this tool.
diff --git a/drivers/mtd/chips/Kconfig b/drivers/mtd/chips/Kconfig
index 3b3dabc..189ddce 100644
--- a/drivers/mtd/chips/Kconfig
+++ b/drivers/mtd/chips/Kconfig
@@ -3,6 +3,7 @@ menu "RAM/ROM/Flash chip drivers"
 
 config MTD_CFI
 	tristate "Detect flash chips by Common Flash Interface (CFI) probe"
+	depends on HAS_IOMEM
 	select MTD_GEN_PROBE
 	select MTD_CFI_UTIL
 	help
@@ -15,6 +16,7 @@ config MTD_CFI
 
 config MTD_JEDECPROBE
 	tristate "Detect non-CFI AMD/JEDEC-compatible flash chips"
+	depends on HAS_IOMEM
 	select MTD_GEN_PROBE
 	select MTD_CFI_UTIL
 	help
@@ -207,12 +209,14 @@ config MTD_CFI_UTIL
 
 config MTD_RAM
 	tristate "Support for RAM chips in bus mapping"
+	depends on HAS_IOMEM
 	help
 	  This option enables basic support for RAM chips accessed through
 	  a bus mapping driver.
 
 config MTD_ROM
 	tristate "Support for ROM chips in bus mapping"
+	depends on HAS_IOMEM
 	help
 	  This option enables basic support for ROM chips accessed through
 	  a bus mapping driver.
diff --git a/drivers/mtd/lpddr/Kconfig b/drivers/mtd/lpddr/Kconfig
index 3a19cbe..07dd95a 100644
--- a/drivers/mtd/lpddr/Kconfig
+++ b/drivers/mtd/lpddr/Kconfig
@@ -4,6 +4,7 @@ menu "LPDDR & LPDDR2 PCM memory drivers"
 config MTD_LPDDR
 	tristate "Support for LPDDR flash chips"
 	select MTD_QINFO_PROBE
+	depends on HAS_IOMEM
 	help
 	  This option enables support of LPDDR (Low power double data rate)
 	  flash chips. Synonymous with Mobile-DDR. It is a new standard for
diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
index 7c95a65..86a9604 100644
--- a/drivers/mtd/maps/Kconfig
+++ b/drivers/mtd/maps/Kconfig
@@ -3,7 +3,8 @@ menu "Mapping drivers for chip access"
 	depends on HAS_IOMEM
 
 config MTD_COMPLEX_MAPPINGS
-	bool "Support non-linear mappings of flash chips"
+	bool "Support non-linear mappings of flash chips" if HAS_IOMEM
+	default !HAS_IOMEM
 	help
 	  This causes the chip drivers to allow for complicated
 	  paged mappings of flash chips.
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 20f01b3..6ed3de7 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -12,7 +12,7 @@ config MTD_NAND_ECC_SMC
 
 menuconfig MTD_NAND
 	tristate "NAND Device Support"
-	depends on MTD
+	depends on MTD && HAS_IOMEM
 	select MTD_NAND_IDS
 	select MTD_NAND_ECC
 	help
diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig
index 0dc9275..83befab 100644
--- a/drivers/mtd/spi-nor/Kconfig
+++ b/drivers/mtd/spi-nor/Kconfig
@@ -9,6 +9,7 @@ if MTD_SPI_NOR
 
 config MTD_MT81xx_NOR
 	tristate "Mediatek MT81xx SPI NOR flash controller"
+	depends on HAS_IOMEM
 	help
 	  This enables access to SPI NOR flash, using MT81xx SPI NOR flash
 	  controller. This controller does not support generic SPI BUS, it only
diff --git a/drivers/net/can/Kconfig b/drivers/net/can/Kconfig
index 6d04183..b1e268b 100644
--- a/drivers/net/can/Kconfig
+++ b/drivers/net/can/Kconfig
@@ -132,6 +132,7 @@ config CAN_RCAR
 config CAN_SUN4I
 	tristate "Allwinner A10 CAN controller"
 	depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST
+	depends on HAS_IOMEM
 	---help---
 	  Say Y here if you want to use CAN controller found on Allwinner
 	  A10/A20 SoCs.
diff --git a/drivers/net/hamradio/Kconfig b/drivers/net/hamradio/Kconfig
index bf5e596..507f7a5 100644
--- a/drivers/net/hamradio/Kconfig
+++ b/drivers/net/hamradio/Kconfig
@@ -113,7 +113,8 @@ config SCC_TRXECHO
 
 config BAYCOM_SER_FDX
 	tristate "BAYCOM ser12 fullduplex driver for AX.25"
-	depends on AX25 && !S390
+	depends on AX25
+	depends on HAS_IOPORT
 	select CRC_CCITT
 	---help---
 	  This is one of two drivers for Baycom style simple amateur radio
@@ -133,7 +134,8 @@ config BAYCOM_SER_FDX
 
 config BAYCOM_SER_HDX
 	tristate "BAYCOM ser12 halfduplex driver for AX.25"
-	depends on AX25 && !S390
+	depends on AX25
+	depends on HAS_IOPORT
 	select CRC_CCITT
 	---help---
 	  This is one of two drivers for Baycom style simple amateur radio
@@ -181,7 +183,8 @@ config BAYCOM_EPP
 
 config YAM
 	tristate "YAM driver for AX.25"
-	depends on AX25 && !S390
+	depends on AX25
+	depends on HAS_IOPORT
 	help
 	  The YAM is a modem for packet radio which connects to the serial
 	  port and includes some of the functions of a Terminal Node
diff --git a/drivers/nvmem/Kconfig b/drivers/nvmem/Kconfig
index bc4ea58..6ef3d0a 100644
--- a/drivers/nvmem/Kconfig
+++ b/drivers/nvmem/Kconfig
@@ -1,6 +1,7 @@
 menuconfig NVMEM
 	tristate "NVMEM Support"
 	select REGMAP
+	depends on HAS_IOMEM
 	help
 	  Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
 
diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
index e7e117d..d2216df 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -30,9 +30,10 @@ config PHY_BERLIN_SATA
 	  Enable this to support the SATA PHY on Marvell Berlin SoCs.
 
 config ARMADA375_USBCLUSTER_PHY
-	def_bool y
-	depends on MACH_ARMADA_375 || COMPILE_TEST
+	bool "ARMADA 375 USB cluster PHY driver" if COMPILE_TEST && !MACH_ARMADA_375
+	def_bool MACH_ARMADA_375
 	depends on OF
+	depends on HAS_IOMEM
 	select GENERIC_PHY
 
 config PHY_DM816X_USB
@@ -128,6 +129,7 @@ config PHY_RCAR_GEN3_USB2
 config OMAP_CONTROL_PHY
 	tristate "OMAP CONTROL PHY Driver"
 	depends on ARCH_OMAP2PLUS || COMPILE_TEST
+	depends on HAS_IOMEM
 	help
 	  Enable this to add support for the PHY part present in the control
 	  module. This driver has API to power on the USB2 PHY and to write to
@@ -224,6 +226,8 @@ config PHY_MT65XX_USB3
 
 config PHY_HI6220_USB
 	tristate "hi6220 USB PHY support"
+	depends on ARM64 || COMPILE_TEST
+	depends on HAS_IOMEM
 	select GENERIC_PHY
 	select MFD_SYSCON
 	help
@@ -401,6 +405,7 @@ config PHY_CYGNUS_PCIE
 	tristate "Broadcom Cygnus PCIe PHY driver"
 	depends on OF && (ARCH_BCM_CYGNUS || COMPILE_TEST)
 	select GENERIC_PHY
+	depends on HAS_IOMEM
 	default ARCH_BCM_CYGNUS
 	help
 	  Enable this to support the Broadcom Cygnus PCIe PHY.
diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
index 1131cf7..bb5bd1b 100644
--- a/drivers/power/reset/Kconfig
+++ b/drivers/power/reset/Kconfig
@@ -41,7 +41,7 @@ config POWER_RESET_AXXIA
 config POWER_RESET_BRCMSTB
 	bool "Broadcom STB reset driver"
 	depends on ARM || MIPS || COMPILE_TEST
-	depends on MFD_SYSCON
+	depends on MFD_SYSCON && HAS_IOMEM
 	default ARCH_BRCMSTB
 	help
 	  This driver provides restart support for Broadcom STB boards.
@@ -148,6 +148,7 @@ config POWER_RESET_KEYSTONE
 config POWER_RESET_SYSCON
 	bool "Generic SYSCON regmap reset driver"
 	depends on OF
+	depends on HAS_IOMEM
 	select MFD_SYSCON
 	help
 	  Reboot support for generic SYSCON mapped register reset.
@@ -155,6 +156,7 @@ config POWER_RESET_SYSCON
 config POWER_RESET_SYSCON_POWEROFF
 	bool "Generic SYSCON regmap poweroff driver"
 	depends on OF
+	depends on HAS_IOMEM
 	select MFD_SYSCON
 	help
 	  Poweroff support for generic SYSCON mapped register poweroff.
diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
index e7255f8..e1ba4aa 100644
--- a/drivers/staging/comedi/Kconfig
+++ b/drivers/staging/comedi/Kconfig
@@ -67,6 +67,7 @@ config COMEDI_TEST
 
 config COMEDI_PARPORT
 	tristate "Parallel port support"
+	depends on HAS_IOPORT
 	---help---
 	  Enable support for the standard parallel port.
 	  A cheap and easy way to get a few more digital I/O lines. Steal
@@ -87,6 +88,7 @@ config COMEDI_SERIAL2002
 config COMEDI_SSV_DNP
 	tristate "SSV Embedded Systems DIL/Net-PC support"
 	depends on X86_32 || COMPILE_TEST
+	depends on HAS_IOPORT
 	---help---
 	  Enable support for SSV Embedded Systems DIL/Net-PC
 
@@ -97,6 +99,7 @@ endif # COMEDI_MISC_DRIVERS
 
 menuconfig COMEDI_ISA_DRIVERS
 	bool "Comedi ISA and PC/104 drivers"
+	depends on HAS_IOPORT
 	---help---
 	  Enable comedi ISA and PC/104 drivers to be built
 
@@ -1110,7 +1113,7 @@ endif # COMEDI_PCI_DRIVERS
 
 menuconfig COMEDI_PCMCIA_DRIVERS
 	tristate "Comedi PCMCIA drivers"
-	depends on PCMCIA
+	depends on PCMCIA && HAS_IOPORT
 	---help---
 	  Enable support for comedi PCMCIA drivers.
 
@@ -1262,6 +1265,7 @@ config COMEDI_8255
 config COMEDI_8255_SA
 	tristate "Standalone 8255 support"
 	select COMEDI_8255
+	depends on HAS_IOPORT
 	---help---
 	  Enable support for 8255 digital I/O as a standalone driver.
 
diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
index 8cc4ac6..31ae027 100644
--- a/drivers/thermal/Kconfig
+++ b/drivers/thermal/Kconfig
@@ -178,6 +178,7 @@ config THERMAL_EMULATION
 config HISI_THERMAL
 	tristate "Hisilicon thermal driver"
 	depends on (ARCH_HISI && CPU_THERMAL && OF) || COMPILE_TEST
+	depends on HAS_IOMEM
 	help
 	  Enable this to plug hisilicon's thermal sensor driver into the Linux
 	  thermal framework. cpufreq is used as the cooling device to throttle
@@ -198,6 +199,7 @@ config SPEAR_THERMAL
 	bool "SPEAr thermal sensor driver"
 	depends on PLAT_SPEAR || COMPILE_TEST
 	depends on OF
+	depends on HAS_IOMEM
 	help
 	  Enable this to plug the SPEAr thermal sensor driver into the Linux
 	  thermal framework.
@@ -206,6 +208,7 @@ config ROCKCHIP_THERMAL
 	tristate "Rockchip thermal driver"
 	depends on ARCH_ROCKCHIP || COMPILE_TEST
 	depends on RESET_CONTROLLER
+	depends on HAS_IOMEM
 	help
 	  Rockchip thermal driver provides support for Temperature sensor
 	  ADC (TS-ADC) found on Rockchip SoCs. It supports one critical
@@ -216,6 +219,7 @@ config RCAR_THERMAL
 	tristate "Renesas R-Car thermal driver"
 	depends on ARCH_SHMOBILE || COMPILE_TEST
 	depends on HAS_IOMEM
+	depends on HAS_IOMEM
 	help
 	  Enable this to plug the R-Car thermal sensor driver into the Linux
 	  thermal framework.
@@ -223,6 +227,7 @@ config RCAR_THERMAL
 config KIRKWOOD_THERMAL
 	tristate "Temperature sensor on Marvell Kirkwood SoCs"
 	depends on MACH_KIRKWOOD || COMPILE_TEST
+	depends on HAS_IOMEM
 	depends on OF
 	help
 	  Support for the Kirkwood thermal sensor driver into the Linux thermal
@@ -231,6 +236,7 @@ config KIRKWOOD_THERMAL
 config DOVE_THERMAL
 	tristate "Temperature sensor on Marvell Dove SoCs"
 	depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST
+	depends on HAS_IOMEM
 	depends on OF
 	help
 	  Support for the Dove thermal sensor driver in the Linux thermal
@@ -249,6 +255,7 @@ config DB8500_THERMAL
 config ARMADA_THERMAL
 	tristate "Armada 370/XP thermal management"
 	depends on ARCH_MVEBU || COMPILE_TEST
+	depends on HAS_IOMEM
 	depends on OF
 	help
 	  Enable this option if you want to have support for thermal management
@@ -366,12 +373,12 @@ config INTEL_PCH_THERMAL
 	  programmable trip points and other information.
 
 menu "Texas Instruments thermal drivers"
-depends on ARCH_HAS_BANDGAP || COMPILE_TEST
+depends on ARCH_HAS_BANDGAP || (COMPILE_TEST && HAS_IOMEM)
 source "drivers/thermal/ti-soc-thermal/Kconfig"
 endmenu
 
 menu "Samsung thermal drivers"
-depends on ARCH_EXYNOS || COMPILE_TEST
+depends on ARCH_EXYNOS || (COMPILE_TEST && HAS_IOMEM)
 source "drivers/thermal/samsung/Kconfig"
 endmenu
 
diff --git a/include/linux/irq.h b/include/linux/irq.h
index 3c1c967..a5d0f12 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -916,6 +916,7 @@ static inline void irq_gc_lock(struct irq_chip_generic *gc) { }
 static inline void irq_gc_unlock(struct irq_chip_generic *gc) { }
 #endif
 
+#ifdef CONFIG_HAS_IOMEM
 static inline void irq_reg_writel(struct irq_chip_generic *gc,
 				  u32 val, int reg_offset)
 {
@@ -933,5 +934,6 @@ static inline u32 irq_reg_readl(struct irq_chip_generic *gc,
 	else
 		return readl(gc->reg_base + reg_offset);
 }
+#endif
 
 #endif /* _LINUX_IRQ_H */
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h
index 9b57a9b..d5db153 100644
--- a/include/linux/mtd/cfi.h
+++ b/include/linux/mtd/cfi.h
@@ -310,6 +310,7 @@ uint32_t cfi_send_gen_cmd(u_char cmd, uint32_t cmd_addr, uint32_t base,
 				struct map_info *map, struct cfi_private *cfi,
 				int type, map_word *prev_val);
 
+#ifdef CONFIG_HAS_IOMEM
 static inline uint8_t cfi_read_query(struct map_info *map, uint32_t addr)
 {
 	map_word val = map_read(map, addr);
@@ -341,6 +342,7 @@ static inline uint16_t cfi_read_query16(struct map_info *map, uint32_t addr)
 		return cfi32_to_cpu(map, val.x[0]);
 	}
 }
+#endif
 
 void cfi_udelay(int us);
 
diff --git a/include/linux/mtd/map.h b/include/linux/mtd/map.h
index 58f3ba7..07c0d497 100644
--- a/include/linux/mtd/map.h
+++ b/include/linux/mtd/map.h
@@ -410,6 +410,7 @@ static inline map_word map_word_ff(struct map_info *map)
 	return r;
 }
 
+#ifdef CONFIG_HAS_IOMEM
 static inline map_word inline_map_read(struct map_info *map, unsigned long ofs)
 {
 	map_word r;
@@ -463,6 +464,7 @@ static inline void inline_map_copy_to(struct map_info *map, unsigned long to, co
 {
 	memcpy_toio(map->virt + to, from, len);
 }
+#endif
 
 #ifdef CONFIG_MTD_COMPLEX_MAPPINGS
 #define map_read(map, ofs) (map)->read(map, ofs)
diff --git a/kernel/resource.c b/kernel/resource.c
index 09c0597..efd5c9e 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -29,7 +29,9 @@
 struct resource ioport_resource = {
 	.name	= "PCI IO",
 	.start	= 0,
+#ifdef CONFIG_HAS_IOPORT
 	.end	= IO_SPACE_LIMIT,
+#endif
 	.flags	= IORESOURCE_IO,
 };
 EXPORT_SYMBOL(ioport_resource);
diff --git a/lib/Kconfig b/lib/Kconfig
index 133ebc0..38ff36d 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -382,9 +382,14 @@ config HAS_IOMEM
 	select GENERIC_IO
 	default y
 
+config HAS_IOPORT
+	bool
+	depends on HAS_IOMEM && !NO_IOPORT
+	default y
+
 config HAS_IOPORT_MAP
 	bool
-	depends on HAS_IOMEM && !NO_IOPORT_MAP
+	depends on HAS_IOMEM && HAS_IOPORT && !NO_IOPORT_MAP
 	default y
 
 config HAS_DMA
diff --git a/mm/bootmem.c b/mm/bootmem.c
index 91e32bc..3471237 100644
--- a/mm/bootmem.c
+++ b/mm/bootmem.c
@@ -99,7 +99,7 @@ static unsigned long __init init_bootmem_core(bootmem_data_t *bdata,
 	unsigned long mapsize;
 
 	mminit_validate_memmodel_limits(&start, &end);
-	bdata->node_bootmem_map = phys_to_virt(PFN_PHYS(mapstart));
+	bdata->node_bootmem_map = __va(PFN_PHYS(mapstart));
 	bdata->node_min_pfn = start;
 	bdata->node_low_pfn = end;
 	link_bootmem(bdata);
@@ -585,7 +585,7 @@ find_block:
 				PFN_UP(end_off), BOOTMEM_EXCLUSIVE))
 			BUG();
 
-		region = phys_to_virt(PFN_PHYS(bdata->node_min_pfn) +
+		region = __va(PFN_PHYS(bdata->node_min_pfn) +
 				start_off);
 		memset(region, 0, size);
 		/*

^ permalink raw reply related	[flat|nested] 42+ messages in thread

* Re: [RFC 01/15] clocksource: atmel: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 01/15] clocksource: atmel: Add missing MFD_SYSCON dependency on HAS_IOMEM Krzysztof Kozlowski
@ 2016-03-03 10:52   ` Arnd Bergmann
  0 siblings, 0 replies; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 10:52 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, Daniel Lezcano, Thomas Gleixner,
	Dan Williams, Vinod Koul, Jason Cooper, Marc Zyngier,
	Mauro Carvalho Chehab, Lee Jones, Giuseppe Cavallaro,
	Kishon Vijay Abraham I, Linus Walleij, Sebastian Reichel,
	Dmitry Eremin-Solenikov, David Woodhouse, Alessandro Zummo,
	Alexandre Belloni, Andy Gross, David Brown, Laurent Pinchart,
	Greg Kroah-Hartman, linux-kernel, dmaengine, linux-media,
	linux-samsung-soc, netdev, linux-gpio, linux-pm, rtc-linux,
	linux-arm-msm, linux-soc, devel, linux-usb

On Thursday 03 March 2016 17:03:27 Krzysztof Kozlowski wrote:
> 
> diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
> index c346be650892..5927944b46e0 100644
> --- a/drivers/clocksource/Kconfig
> +++ b/drivers/clocksource/Kconfig
> @@ -239,6 +239,7 @@ config ATMEL_PIT
>  
>  config ATMEL_ST
>         bool
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select CLKSRC_OF
>         select MFD_SYSCON
> 

looking at this again, there is no need for the dependency here,
as it is not a user-selectable symbol.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 02/15] dmaengine: nxp: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 02/15] dmaengine: nxp: " Krzysztof Kozlowski
@ 2016-03-03 10:52   ` Arnd Bergmann
  0 siblings, 0 replies; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 10:52 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, Daniel Lezcano, Thomas Gleixner,
	Dan Williams, Vinod Koul, Jason Cooper, Marc Zyngier,
	Mauro Carvalho Chehab, Lee Jones, Giuseppe Cavallaro,
	Kishon Vijay Abraham I, Linus Walleij, Sebastian Reichel,
	Dmitry Eremin-Solenikov, David Woodhouse, Alessandro Zummo,
	Alexandre Belloni, Andy Gross, David Brown, Laurent Pinchart,
	Greg Kroah-Hartman, linux-kernel, dmaengine, linux-media,
	linux-samsung-soc, netdev, linux-gpio, linux-pm, rtc-linux,
	linux-arm-msm, linux-soc, devel, linux-usb

On Thursday 03 March 2016 17:03:28 Krzysztof Kozlowski wrote:
> index c77f214c9466..7fbf96bff280 100644
> --- a/drivers/dma/Kconfig
> +++ b/drivers/dma/Kconfig
> @@ -290,6 +290,7 @@ config LPC18XX_DMAMUX
>         bool "NXP LPC18xx/43xx DMA MUX for PL080"
>         depends on ARCH_LPC18XX || COMPILE_TEST
>         depends on OF && AMBA_PL08X
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select MFD_SYSCON
>         help
> 

AMBA_PL08X implies HAS_IOMEM, so this is not needed explicitly

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 03/15] hwspinlock: qcom: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 03/15] hwspinlock: qcom: " Krzysztof Kozlowski
@ 2016-03-03 10:53   ` Arnd Bergmann
  0 siblings, 0 replies; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 10:53 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, Daniel Lezcano, Thomas Gleixner,
	Dan Williams, Vinod Koul, Jason Cooper, Marc Zyngier,
	Mauro Carvalho Chehab, Lee Jones, Giuseppe Cavallaro,
	Kishon Vijay Abraham I, Linus Walleij, Sebastian Reichel,
	Dmitry Eremin-Solenikov, David Woodhouse, Alessandro Zummo,
	Alexandre Belloni, Andy Gross, David Brown, Laurent Pinchart,
	Greg Kroah-Hartman, linux-kernel, dmaengine, linux-media,
	linux-samsung-soc, netdev, linux-gpio, linux-pm, rtc-linux,
	linux-arm-msm, linux-soc, devel, linux-usb

On Thursday 03 March 2016 17:03:29 Krzysztof Kozlowski wrote:
> diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig
> index 73a401662853..5ab2d51dc147 100644
> --- a/drivers/hwspinlock/Kconfig
> +++ b/drivers/hwspinlock/Kconfig
> @@ -21,6 +21,7 @@ config HWSPINLOCK_OMAP
>  config HWSPINLOCK_QCOM
>         tristate "Qualcomm Hardware Spinlock device"
>         depends on ARCH_QCOM
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select HWSPINLOCK
>         select MFD_SYSCON
>         help
> 

This is only needed if we add "|| COMPILE_TEST", right now the driver
is limited to ARCH_QCOM.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 04/15] irqchip: st: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 04/15] irqchip: st: " Krzysztof Kozlowski
@ 2016-03-03 10:53   ` Arnd Bergmann
  2016-03-03 12:00     ` [rtc-linux] " Krzysztof Kozlowski
  0 siblings, 1 reply; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 10:53 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, Daniel Lezcano, Thomas Gleixner,
	Dan Williams, Vinod Koul, Jason Cooper, Marc Zyngier,
	Mauro Carvalho Chehab, Lee Jones, Giuseppe Cavallaro,
	Kishon Vijay Abraham I, Linus Walleij, Sebastian Reichel,
	Dmitry Eremin-Solenikov, David Woodhouse, Alessandro Zummo,
	Alexandre Belloni, Andy Gross, David Brown, Laurent Pinchart,
	Greg Kroah-Hartman, linux-kernel, dmaengine, linux-media,
	linux-samsung-soc, netdev, linux-gpio, linux-pm, rtc-linux,
	linux-arm-msm, linux-soc, devel, linux-usb

On Thursday 03 March 2016 17:03:30 Krzysztof Kozlowski wrote:
>  config ST_IRQCHIP
>         bool
>         select REGMAP
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select MFD_SYSCON
>         help
>           Enables SysCfg Controlled IRQs on STi based platforms.
> 

Not user visible.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 05/15] phy: hi6220: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 05/15] phy: hi6220: " Krzysztof Kozlowski
@ 2016-03-03 10:54   ` Arnd Bergmann
  0 siblings, 0 replies; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 10:54 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, Daniel Lezcano, Thomas Gleixner,
	Dan Williams, Vinod Koul, Jason Cooper, Marc Zyngier,
	Mauro Carvalho Chehab, Lee Jones, Giuseppe Cavallaro,
	Kishon Vijay Abraham I, Linus Walleij, Sebastian Reichel,
	Dmitry Eremin-Solenikov, David Woodhouse, Alessandro Zummo,
	Alexandre Belloni, Andy Gross, David Brown, Laurent Pinchart,
	Greg Kroah-Hartman, linux-kernel, dmaengine, linux-media,
	linux-samsung-soc, netdev, linux-gpio, linux-pm, rtc-linux,
	linux-arm-msm, linux-soc, devel, linux-usb

On Thursday 03 March 2016 17:03:31 Krzysztof Kozlowski wrote:
> --- a/drivers/phy/Kconfig
> +++ b/drivers/phy/Kconfig
> @@ -225,6 +225,7 @@ config PHY_MT65XX_USB3
>  config PHY_HI6220_USB
>         tristate "hi6220 USB PHY support"
>         depends on (ARCH_HISI && ARM64) || COMPILE_TEST
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select GENERIC_PHY
>         select MFD_SYSCON
>         help
> -- 
> 2.5.0
> 

This is indeed required, and seems to be what caused the problem
you saw in the first place.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 08/15] rtc: at91sam9: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 08/15] rtc: at91sam9: " Krzysztof Kozlowski
@ 2016-03-03 10:55   ` Arnd Bergmann
  2016-03-03 12:27     ` Geert Uytterhoeven
  0 siblings, 1 reply; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 10:55 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, Daniel Lezcano, Thomas Gleixner,
	Dan Williams, Vinod Koul, Jason Cooper, Marc Zyngier,
	Mauro Carvalho Chehab, Lee Jones, Giuseppe Cavallaro,
	Kishon Vijay Abraham I, Linus Walleij, Sebastian Reichel,
	Dmitry Eremin-Solenikov, David Woodhouse, Alessandro Zummo,
	Alexandre Belloni, Andy Gross, David Brown, Laurent Pinchart,
	Greg Kroah-Hartman, linux-kernel, dmaengine, linux-media,
	linux-samsung-soc, netdev, linux-gpio, linux-pm, rtc-linux,
	linux-arm-msm, linux-soc, devel, linux-usb

On Thursday 03 March 2016 17:03:34 Krzysztof Kozlowski wrote:
> index 0da40e2e4280..5c530b6b125d 100644
> --- a/drivers/rtc/Kconfig
> +++ b/drivers/rtc/Kconfig
> @@ -1302,6 +1302,7 @@ config RTC_DRV_AT91RM9200
>  config RTC_DRV_AT91SAM9
>         tristate "AT91SAM9 RTT as RTC"
>         depends on ARCH_AT91 || COMPILE_TEST
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select MFD_SYSCON
>         help
>           Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which
> 

This is technically correct, but the entire RTC menu is hidden
inside of 'depends on !UML && !S390', so we won't ever get there
on any configuration that does not use HAS_IOMEM.

If we did, all other RTC drivers would also fail.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 09/15] media: platform: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 09/15] media: platform: " Krzysztof Kozlowski
@ 2016-03-03 10:57   ` Arnd Bergmann
  2016-03-03 12:28     ` Geert Uytterhoeven
  2016-03-03 12:40     ` [rtc-linux] " Krzysztof Kozlowski
  0 siblings, 2 replies; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 10:57 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, Daniel Lezcano, Thomas Gleixner,
	Dan Williams, Vinod Koul, Jason Cooper, Marc Zyngier,
	Mauro Carvalho Chehab, Lee Jones, Giuseppe Cavallaro,
	Kishon Vijay Abraham I, Linus Walleij, Sebastian Reichel,
	Dmitry Eremin-Solenikov, David Woodhouse, Alessandro Zummo,
	Alexandre Belloni, Andy Gross, David Brown, Laurent Pinchart,
	Greg Kroah-Hartman, linux-kernel, dmaengine, linux-media,
	linux-samsung-soc, netdev, linux-gpio, linux-pm, rtc-linux,
	linux-arm-msm, linux-soc, devel, linux-usb

On Thursday 03 March 2016 17:03:35 Krzysztof Kozlowski wrote:
> diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
> index 201f5c296a95..e5931e434fa2 100644
> --- a/drivers/media/platform/Kconfig
> +++ b/drivers/media/platform/Kconfig
> @@ -79,6 +79,7 @@ config VIDEO_OMAP3
>         depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3
>         depends on HAS_DMA && OF
>         depends on OMAP_IOMMU
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select ARM_DMA_USE_IOMMU
>         select VIDEOBUF2_DMA_CONTIG

This is only built for OMAP3, so we won't get here without HAS_IOMEM

>         select MFD_SYSCON
> diff --git a/drivers/media/platform/exynos4-is/Kconfig b/drivers/media/platform/exynos4-is/Kconfig
> index 57d42c6172c5..c4317b99d257 100644
> --- a/drivers/media/platform/exynos4-is/Kconfig
> +++ b/drivers/media/platform/exynos4-is/Kconfig
> @@ -17,6 +17,7 @@ config VIDEO_S5P_FIMC
>         tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver"
>         depends on I2C
>         depends on HAS_DMA
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select VIDEOBUF2_DMA_CONTIG
>         select V4L2_MEM2MEM_DEV

This  is guarded by HAS_DMA, which implies HAS_IOMEM afaik.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 10/15] net: ethernet: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 10/15] net: ethernet: " Krzysztof Kozlowski
@ 2016-03-03 10:59   ` Arnd Bergmann
  0 siblings, 0 replies; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 10:59 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, Daniel Lezcano, Thomas Gleixner,
	Dan Williams, Vinod Koul, Jason Cooper, Marc Zyngier,
	Mauro Carvalho Chehab, Lee Jones, Giuseppe Cavallaro,
	Kishon Vijay Abraham I, Linus Walleij, Sebastian Reichel,
	Dmitry Eremin-Solenikov, David Woodhouse, Alessandro Zummo,
	Alexandre Belloni, Andy Gross, David Brown, Laurent Pinchart,
	Greg Kroah-Hartman, linux-kernel, dmaengine, linux-media,
	linux-samsung-soc, netdev, linux-gpio, linux-pm, rtc-linux,
	linux-arm-msm, linux-soc, devel, linux-usb

On Thursday 03 March 2016 17:03:36 Krzysztof Kozlowski wrote:
> The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
> direct dependencies.
> 
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
>  drivers/net/ethernet/hisilicon/Kconfig      | 1 +
>  drivers/net/ethernet/stmicro/stmmac/Kconfig | 6 ++++++
>  drivers/net/ethernet/ti/Kconfig             | 1 +
>  3 files changed, 8 insertions(+)
> 
> diff --git a/drivers/net/ethernet/hisilicon/Kconfig b/drivers/net/ethernet/hisilicon/Kconfig
> index 74beb1867230..6a9c91781bf9 100644
> --- a/drivers/net/ethernet/hisilicon/Kconfig
> +++ b/drivers/net/ethernet/hisilicon/Kconfig
> @@ -26,6 +26,7 @@ config HIX5HD2_GMAC
>  config HIP04_ETH
>  	tristate "HISILICON P04 Ethernet support"
>  	select MARVELL_PHY
> +	depends on HAS_IOMEM	# For MFD_SYSCON
>  	select MFD_SYSCON
>  	select HNS_MDIO
>  	---help---

Geert added a HAS_DMA dependency in linux-next, which takes
care of this, although it's still technically correct as well.

> diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig
> index cec147d1d34f..d6902bf6e90f 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/Kconfig
> +++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig
> @@ -16,6 +16,7 @@ if STMMAC_ETH
>  config STMMAC_PLATFORM
>  	tristate "STMMAC Platform bus support"
>  	depends on STMMAC_ETH
> +	depends on HAS_IOMEM	# For MFD_SYSCON
>  	select MFD_SYSCON
>  	default y
>  	---help---

NET_VENDOR_STMICRO depends on HAS_IOMEM, so we are good here for the
entire directory.

> diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
> index e7f0b7d95b65..ec56cebe929d 100644
> --- a/drivers/net/ethernet/ti/Kconfig
> +++ b/drivers/net/ethernet/ti/Kconfig
> @@ -62,6 +62,7 @@ config TI_CPSW_ALE
>  config TI_CPSW
>  	tristate "TI CPSW Switch Support"
>  	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS
> +	depends on HAS_IOMEM	# For MFD_SYSCON
>  	select TI_DAVINCI_CPDMA
>  	select TI_DAVINCI_MDIO
>  	select TI_CPSW_PHY_SEL
> 


This again is platform specific, so the chagnge is not needed.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 11/15] power: reset: keystone: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 11/15] power: reset: keystone: " Krzysztof Kozlowski
@ 2016-03-03 11:00   ` Arnd Bergmann
  2016-03-03 12:33     ` Sebastian Reichel
  0 siblings, 1 reply; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 11:00 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, Daniel Lezcano, Thomas Gleixner,
	Dan Williams, Vinod Koul, Jason Cooper, Marc Zyngier,
	Mauro Carvalho Chehab, Lee Jones, Giuseppe Cavallaro,
	Kishon Vijay Abraham I, Linus Walleij, Sebastian Reichel,
	Dmitry Eremin-Solenikov, David Woodhouse, Alessandro Zummo,
	Alexandre Belloni, Andy Gross, David Brown, Laurent Pinchart,
	Greg Kroah-Hartman, linux-kernel, dmaengine, linux-media,
	linux-samsung-soc, netdev, linux-gpio, linux-pm, rtc-linux,
	linux-arm-msm, linux-soc, devel, linux-usb

On Thursday 03 March 2016 17:03:37 Krzysztof Kozlowski wrote:
> diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
> index 0a6408a39c66..0f34846ae80d 100644
> --- a/drivers/power/reset/Kconfig
> +++ b/drivers/power/reset/Kconfig
> @@ -141,6 +141,7 @@ config POWER_RESET_XGENE
>  config POWER_RESET_KEYSTONE
>         bool "Keystone reset driver"
>         depends on ARCH_KEYSTONE
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select MFD_SYSCON
>         help
>           Reboot support for the KEYSTONE SoCs.
> 

This is platform specific, but we should probably add || COMPILE_TEST
along with the HAS_IOMEM dependency.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 14/15] usb: xhci: mtk: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 14/15] usb: xhci: mtk: " Krzysztof Kozlowski
@ 2016-03-03 11:01   ` Arnd Bergmann
  0 siblings, 0 replies; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 11:01 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, Daniel Lezcano, Thomas Gleixner,
	Dan Williams, Vinod Koul, Jason Cooper, Marc Zyngier,
	Mauro Carvalho Chehab, Lee Jones, Giuseppe Cavallaro,
	Kishon Vijay Abraham I, Linus Walleij, Sebastian Reichel,
	Dmitry Eremin-Solenikov, David Woodhouse, Alessandro Zummo,
	Alexandre Belloni, Andy Gross, David Brown, Laurent Pinchart,
	Greg Kroah-Hartman, linux-kernel, dmaengine, linux-media,
	linux-samsung-soc, netdev, linux-gpio, linux-pm, rtc-linux,
	linux-arm-msm, linux-soc, devel, linux-usb

On Thursday 03 March 2016 17:03:40 Krzysztof Kozlowski wrote:
> index 8c20ebbc049c..f759a778d606 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
> @@ -45,6 +45,7 @@ config USB_XHCI_PLATFORM
>  
>  config USB_XHCI_MTK
>         tristate "xHCI support for Mediatek MT65xx"
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select MFD_SYSCON
>         depends on ARCH_MEDIATEK || COMPILE_TEST
>         ---help---
> 

This already has the dependency, as it depends on XHCD_PLATFORM
which depends on HAS_IOMEM.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [rtc-linux] Re: [RFC 04/15] irqchip: st: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03 10:53   ` Arnd Bergmann
@ 2016-03-03 12:00     ` Krzysztof Kozlowski
  2016-03-03 12:28       ` Arnd Bergmann
  0 siblings, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03 12:00 UTC (permalink / raw)
  To: rtc-linux
  Cc: linux-arm-kernel, Daniel Lezcano, Thomas Gleixner, Dan Williams,
	Vinod Koul, Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab,
	Lee Jones, Giuseppe Cavallaro, Kishon Vijay Abraham I,
	Linus Walleij, Sebastian Reichel, Dmitry Eremin-Solenikov,
	David Woodhouse, Alessandro Zummo, Alexandre Belloni, Andy Gross,
	David Brown, Laurent Pinchart, Greg Kroah-Hartman, linux-kernel,
	dmaengine, linux-media, linux-samsung-soc, netdev, linux-gpio,
	linux-pm, linux-arm-msm, linux-soc, devel, linux-usb,
	Krzysztof Kozlowski

2016-03-03 19:53 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> On Thursday 03 March 2016 17:03:30 Krzysztof Kozlowski wrote:
>>  config ST_IRQCHIP
>>         bool
>>         select REGMAP
>> +       depends on HAS_IOMEM    # For MFD_SYSCON
>>         select MFD_SYSCON
>>         help
>>           Enables SysCfg Controlled IRQs on STi based platforms.
>>
>
> Not user visible.

Hmmm... you are right (here and in other patches) but why am I getting
all these errors:
warning: (ST_IRQCHIP && HIP04_ETH && STMMAC_PLATFORM && DWMAC_IPQ806X
&& DWMAC_LPC18XX && DWMAC_ROCKCHIP && DWMAC_SOCFPGA && DWMAC_STI &&
TI_CPSW && PINCTRL_ROCKCHIP && PINCTRL_DOVE && POWER_RESET_KEYSTONE &&
S3C2410_WATCHDOG && VIDEO_OMAP3 && VIDEO_S5P_FIMC && USB_XHCI_MTK &&
RTC_DRV_AT91SAM9 && LPC18XX_DMAMUX && VIDEO_OMAP4 && HWSPINLOCK_QCOM
&& ATMEL_ST && QCOM_GSBI && PHY_HI6220_USB) selects MFD_SYSCON which
has unmet direct dependencies (HAS_IOMEM)
?
(ARCH=um, allyesconfig)
Adding depends here (and in other places) really helps... but it
should not have any impact...

Thanks for comments,
Krzysztof

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [rtc-linux] Re: [RFC 15/15] mfd: syscon: Fix build of missing ioremap on UM
  2016-03-03 10:50   ` Arnd Bergmann
@ 2016-03-03 12:24     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03 12:24 UTC (permalink / raw)
  To: rtc-linux
  Cc: linux-arm-kernel, daniel.lezcano, tglx, dan.j.williams,
	vinod.koul, jason, marc.zyngier, mchehab, lee.jones,
	peppe.cavallaro, kishon, linus.walleij, sre, dbaryshkov, dwmw2,
	a.zummo, alexandre.belloni, andy.gross, david.brown,
	laurent.pinchart, gregkh, linux-kernel, dmaengine, linux-media,
	linux-samsung-soc, netdev, linux-gpio, linux-pm, linux-arm-msm,
	linux-soc, devel, linux-usb, Richard Weinberger,
	Krzysztof Kozlowski

2016-03-03 19:50 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> On Thursday 03 March 2016 17:03:41 Krzysztof Kozlowski wrote:
>> Since commit c89c0114955a ("mfd: syscon: Set regmap max_register in
>> of_syscon_register") the syscon uses ioremap so it fails on COMPILE_TEST
>> without HAS_IOMEM:
>>
>> drivers/mfd/syscon.c: In function ‘of_syscon_register’:
>> drivers/mfd/syscon.c:67:9: error: implicit declaration of function ‘ioremap’ [-Werror=implicit-function-declaration]
>>   base = ioremap(res.start, resource_size(&res));
>>          ^
>> drivers/mfd/syscon.c:67:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
>>   base = ioremap(res.start, resource_size(&res));
>>        ^
>> drivers/mfd/syscon.c:109:2: error: implicit declaration of function ‘iounmap’ [-Werror=implicit-function-declaration]
>>   iounmap(base);
>>
>> When selecting MFD_SYSCON, depend on HAS_IOMEM to avoid unmet direct
>> dependencies.
>>
>> Reported-by: kbuild test robot <lkp@intel.com>
>> Fixes: c89c0114955a ("mfd: syscon: Set regmap max_register in of_syscon_register")
>> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>> ---
>
> Thanks for looking into this, the patches all look right to me, but
> I fear we are forever playing catch-up here, as the number of syscon users
> is only growing, and it's not obvious to the average driver developer
> why they have to select this symbol.

Actually I screwed something because entire MFD menuconfig (including
MFD_SYSCON) is already guarded by if HAS_IOMEM.

I was fixing the problem from the end (the build error) and then hit
these unmet direct dependencies (mentioned this in other mail).

I think this patch 15/15 is not needed.

>
> Interestingly, when I try to build an allmodconfig kernel for UML,
> it seems to reject any driver calling ioremap/iounmap but not
> the wrapper functions around that (of_iomap, devm_ioremap,
> devm_ioremap_resource, ...)

The declaration of devm-like functions is always there. However it
should fail during linking stage (see my other patches like for
thermal, nvram etc. this is still in progress because I did not manage
to build allyesconfig on UML yet).

> or the actual accessors that make no
> sense without ioremap (readl, writel, inb, outb, iowrite32, ...).
>
> I've played with this a bit, and arrived at the patch below, is this
> something we want as well?
>
>         Arnd
>
>> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
>> index aa21dc55eb15..2e5b1e525a1d 100644
>> --- a/drivers/mfd/Kconfig
>> +++ b/drivers/mfd/Kconfig
>> @@ -1034,6 +1034,7 @@ config MFD_SUN6I_PRCM
>>
>>  config MFD_SYSCON
>>       bool "System Controller Register R/W Based on Regmap"
>> +     depends on HAS_IOMEM
>>       select REGMAP_MMIO
>>       help
>>         Select this option to enable accessing system control registers
>>
>
>
>  arch/um/include/asm/io.h           |    1 +
>  drivers/char/Kconfig               |    3 +++
>  drivers/char/mem.c                 |   16 ++++++++++++++++
>  drivers/clocksource/Kconfig        |    3 +++
>  drivers/fmc/Kconfig                |    1 +
>  drivers/fpga/Kconfig               |    1 +
>  drivers/hwtracing/intel_th/Kconfig |    1 +
>  drivers/mfd/Kconfig                |    1 +
>  drivers/misc/altera-stapl/Kconfig  |    2 +-
>  drivers/mtd/chips/Kconfig          |    4 ++++
>  drivers/mtd/lpddr/Kconfig          |    1 +
>  drivers/mtd/maps/Kconfig           |    3 ++-
>  drivers/mtd/nand/Kconfig           |    2 +-
>  drivers/mtd/spi-nor/Kconfig        |    1 +
>  drivers/net/can/Kconfig            |    1 +
>  drivers/net/hamradio/Kconfig       |    9 ++++++---
>  drivers/nvmem/Kconfig              |    1 +
>  drivers/phy/Kconfig                |    9 +++++++--
>  drivers/power/reset/Kconfig        |    4 +++-
>  drivers/staging/comedi/Kconfig     |    6 +++++-
>  drivers/thermal/Kconfig            |   11 +++++++++--

For some of these I already started fixing:
https://lkml.org/lkml/2016/3/3/147
http://comments.gmane.org/gmane.linux.kernel/2167664


>  include/linux/irq.h                |    2 ++
>  include/linux/mtd/cfi.h            |    2 ++
>  include/linux/mtd/map.h            |    2 ++
>  kernel/resource.c                  |    2 ++
>  lib/Kconfig                        |    7 ++++++-
>  mm/bootmem.c                       |    4 ++--
>  27 files changed, 85 insertions(+), 15 deletions(-)
>
> diff --git a/arch/um/include/asm/io.h b/arch/um/include/asm/io.h
> new file mode 100644
> index 0000000..618ff13
> --- /dev/null
> +++ b/arch/um/include/asm/io.h
> @@ -0,0 +1 @@
> +/* no IOPORT or IOMEM suport */
> diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
> index a043107..f6dc17a 100644
> --- a/drivers/char/Kconfig
> +++ b/drivers/char/Kconfig
> @@ -8,6 +8,7 @@ source "drivers/tty/Kconfig"
>
>  config DEVMEM
>         bool "/dev/mem virtual device support"
> +       depends on HAS_IOMEM
>         default y
>         help
>           Say Y here if you want to support the /dev/mem device.
> @@ -17,6 +18,7 @@ config DEVMEM
>
>  config DEVKMEM
>         bool "/dev/kmem virtual device support"
> +       depends on HAS_IOMEM
>         default y
>         help
>           Say Y here if you want to support the /dev/kmem device. The
> @@ -94,6 +96,7 @@ config BFIN_OTP_WRITE_ENABLE
>  config PRINTER
>         tristate "Parallel printer support"
>         depends on PARPORT
> +       depends on HAS_IOPORT
>         ---help---
>           If you intend to attach a printer to the parallel port of your Linux
>           box (as opposed to using a serial printer; if the connector at the
> diff --git a/drivers/char/mem.c b/drivers/char/mem.c
> index 4f6f94c..eedd129 100644
> --- a/drivers/char/mem.c
> +++ b/drivers/char/mem.c
> @@ -91,6 +91,7 @@ void __weak unxlate_dev_mem_ptr(phys_addr_t phys, void *addr)
>  }
>  #endif
>
> +#ifdef CONFIG_DEVMEM
>  /*
>   * This funcion reads the *physical* memory. The f_pos points directly to the
>   * memory location.
> @@ -219,6 +220,7 @@ static ssize_t write_mem(struct file *file, const char __user *buf,
>         *ppos += written;
>         return written;
>  }
> +#endif
>
>  int __weak phys_mem_access_prot_allowed(struct file *file,
>         unsigned long pfn, unsigned long size, pgprot_t *vma_prot)
> @@ -312,6 +314,7 @@ static inline int private_mapping_ok(struct vm_area_struct *vma)
>  }
>  #endif
>
> +#ifdef CONFIG_DEVMEM
>  static const struct vm_operations_struct mmap_mem_ops = {
>  #ifdef CONFIG_HAVE_IOREMAP_PROT
>         .access = generic_access_phys
> @@ -351,7 +354,9 @@ static int mmap_mem(struct file *file, struct vm_area_struct *vma)
>         }
>         return 0;
>  }
> +#endif
>
> +#ifdef CONFIG_DEVKMEM
>  static int mmap_kmem(struct file *file, struct vm_area_struct *vma)
>  {
>         unsigned long pfn;
> @@ -552,7 +557,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf,
>         *ppos = p;
>         return virtr + wrote ? : err;
>  }
> +#endif
>
> +#ifdef CONFIG_DEVPORT
>  static ssize_t read_port(struct file *file, char __user *buf,
>                          size_t count, loff_t *ppos)
>  {
> @@ -594,6 +601,7 @@ static ssize_t write_port(struct file *file, const char __user *buf,
>         *ppos = i;
>         return tmp-buf;
>  }
> +#endif
>
>  static ssize_t read_null(struct file *file, char __user *buf,
>                          size_t count, loff_t *ppos)
> @@ -710,10 +718,12 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
>         return ret;
>  }
>
> +#ifdef CONFIG_DEVPORT
>  static int open_port(struct inode *inode, struct file *filp)
>  {
>         return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
>  }
> +#endif
>
>  #define zero_lseek     null_lseek
>  #define full_lseek      null_lseek
> @@ -722,6 +732,7 @@ static int open_port(struct inode *inode, struct file *filp)
>  #define open_mem       open_port
>  #define open_kmem      open_mem
>
> +#ifdef CONFIG_DEVMEM
>  static const struct file_operations __maybe_unused mem_fops = {
>         .llseek         = memory_lseek,
>         .read           = read_mem,
> @@ -733,7 +744,9 @@ static const struct file_operations __maybe_unused mem_fops = {
>         .mmap_capabilities = memory_mmap_capabilities,
>  #endif
>  };
> +#endif
>
> +#ifdef CONFIG_DEVKMEM
>  static const struct file_operations __maybe_unused kmem_fops = {
>         .llseek         = memory_lseek,
>         .read           = read_kmem,
> @@ -745,6 +758,7 @@ static const struct file_operations __maybe_unused kmem_fops = {
>         .mmap_capabilities = memory_mmap_capabilities,
>  #endif
>  };
> +#endif
>
>  static const struct file_operations null_fops = {
>         .llseek         = null_lseek,
> @@ -755,12 +769,14 @@ static const struct file_operations null_fops = {
>         .splice_write   = splice_write_null,
>  };
>
> +#ifdef CONFIG_DEVPORT
>  static const struct file_operations __maybe_unused port_fops = {
>         .llseek         = memory_lseek,
>         .read           = read_port,
>         .write          = write_port,
>         .open           = open_port,
>  };
> +#endif
>
>  static const struct file_operations zero_fops = {
>         .llseek         = zero_lseek,
> diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
> index 33db740..6b58974 100644
> --- a/drivers/clocksource/Kconfig
> +++ b/drivers/clocksource/Kconfig
> @@ -38,6 +38,7 @@ config DIGICOLOR_TIMER
>  config DW_APB_TIMER
>         bool "DW APB timer driver" if COMPILE_TEST
>         depends on GENERIC_CLOCKEVENTS
> +       depends on HAS_IOMEM
>         help
>           Enables the support for the dw_apb timer.
>
> @@ -64,6 +65,7 @@ config ARMADA_370_XP_TIMER
>  config MESON6_TIMER
>         bool "Meson6 timer driver" if COMPILE_TEST
>         depends on GENERIC_CLOCKEVENTS
> +       depends on HAS_IOMEM
>         select CLKSRC_MMIO
>         help
>           Enables the support for the Meson6 timer driver.
> @@ -114,6 +116,7 @@ config CADENCE_TTC_TIMER
>  config ASM9260_TIMER
>         bool "ASM9260 timer driver" if COMPILE_TEST
>         depends on GENERIC_CLOCKEVENTS
> +       depends on HAS_IOMEM
>         select CLKSRC_MMIO
>         select CLKSRC_OF
>         help
> diff --git a/drivers/fmc/Kconfig b/drivers/fmc/Kconfig
> index 3a75f42..adf1391 100644
> --- a/drivers/fmc/Kconfig
> +++ b/drivers/fmc/Kconfig
> @@ -4,6 +4,7 @@
>
>  menuconfig FMC
>         tristate "FMC support"
> +       depends on HAS_IOMEM
>         help
>
>           FMC (FPGA Mezzanine Carrier) is a mechanical and electrical
> diff --git a/drivers/fpga/Kconfig b/drivers/fpga/Kconfig
> index c9b9fdf..36c54af 100644
> --- a/drivers/fpga/Kconfig
> +++ b/drivers/fpga/Kconfig
> @@ -21,6 +21,7 @@ config FPGA_MGR_SOCFPGA
>
>  config FPGA_MGR_ZYNQ_FPGA
>         tristate "Xilinx Zynq FPGA"
> +       depends on HAS_IOMEM
>         help
>           FPGA manager driver support for Xilinx Zynq FPGAs.
>
> diff --git a/drivers/hwtracing/intel_th/Kconfig b/drivers/hwtracing/intel_th/Kconfig
> index b7a9073..467dae9 100644
> --- a/drivers/hwtracing/intel_th/Kconfig
> +++ b/drivers/hwtracing/intel_th/Kconfig
> @@ -1,5 +1,6 @@
>  config INTEL_TH
>         tristate "Intel(R) Trace Hub controller"
> +       depends on HAS_IOMEM
>         help
>           Intel(R) Trace Hub (TH) is a set of hardware blocks (subdevices) that
>           produce, switch and output trace data from multiple hardware and
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 9ca66de..6ff6246 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -999,6 +999,7 @@ config MFD_SUN6I_PRCM
>
>  config MFD_SYSCON
>         bool "System Controller Register R/W Based on Regmap"
> +       depends on HAS_IOMEM

This shouldn't be needed. There is if HAS_IOMEM at beginning.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 08/15] rtc: at91sam9: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03 10:55   ` Arnd Bergmann
@ 2016-03-03 12:27     ` Geert Uytterhoeven
  2016-03-03 12:58       ` Arnd Bergmann
  0 siblings, 1 reply; 42+ messages in thread
From: Geert Uytterhoeven @ 2016-03-03 12:27 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Krzysztof Kozlowski, Linus Walleij,
	linux-kernel, David Brown, Alexandre Belloni, Laurent Pinchart,
	Lee Jones, Thomas Gleixner, driverdevel, linux-samsung-soc,
	Vinod Koul, Daniel Lezcano, Kishon Vijay Abraham I, Andy Gross,
	Linux Media Mailing List, Jason Cooper, RTCLINUX,
	Mauro Carvalho Chehab, Marc Zyngier, linux-arm-msm, linux-gpio,
	Giuseppe Cavallaro, Dan Williams, linux-soc, Alessandro Zummo,
	Greg Kroah-Hartman, Linux PM list, USB list, Sebastian Reichel,
	Dmitry Eremin-Solenikov, netdev, dmaengine, David Woodhouse

On Thu, Mar 3, 2016 at 11:55 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Thursday 03 March 2016 17:03:34 Krzysztof Kozlowski wrote:
>> index 0da40e2e4280..5c530b6b125d 100644
>> --- a/drivers/rtc/Kconfig
>> +++ b/drivers/rtc/Kconfig
>> @@ -1302,6 +1302,7 @@ config RTC_DRV_AT91RM9200
>>  config RTC_DRV_AT91SAM9
>>         tristate "AT91SAM9 RTT as RTC"
>>         depends on ARCH_AT91 || COMPILE_TEST
>> +       depends on HAS_IOMEM    # For MFD_SYSCON
>>         select MFD_SYSCON
>>         help
>>           Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which
>>
>
> This is technically correct, but the entire RTC menu is hidden
> inside of 'depends on !UML && !S390', so we won't ever get there
> on any configuration that does not use HAS_IOMEM.
>
> If we did, all other RTC drivers would also fail.

So UML has no RTC. Should/can it use RTC_DRV_GENERIC?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [rtc-linux] Re: [RFC 04/15] irqchip: st: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03 12:00     ` [rtc-linux] " Krzysztof Kozlowski
@ 2016-03-03 12:28       ` Arnd Bergmann
  2016-03-03 12:33         ` Krzysztof Kozłowski
  0 siblings, 1 reply; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 12:28 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, rtc-linux, Linus Walleij, Sebastian Reichel,
	David Brown, Alexandre Belloni, Laurent Pinchart,
	Krzysztof Kozlowski, Lee Jones, Dan Williams, devel,
	linux-samsung-soc, Vinod Koul, Daniel Lezcano,
	Kishon Vijay Abraham I, Andy Gross, linux-media, Jason Cooper,
	Mauro Carvalho Chehab, Marc Zyngier, linux-arm-msm, linux-gpio,
	Giuseppe Cavallaro, Thomas Gleixner, linux-soc, Alessandro Zummo,
	Greg Kroah-Hartman, linux-pm, linux-usb, linux-kernel,
	Dmitry Eremin-Solenikov, netdev, dmaengine, David Woodhouse

On Thursday 03 March 2016 21:00:57 Krzysztof Kozlowski wrote:
> >
> > Not user visible.
> 
> Hmmm... you are right (here and in other patches) but why am I getting
> all these errors:
> warning: (ST_IRQCHIP && HIP04_ETH && STMMAC_PLATFORM && DWMAC_IPQ806X
> && DWMAC_LPC18XX && DWMAC_ROCKCHIP && DWMAC_SOCFPGA && DWMAC_STI &&
> TI_CPSW && PINCTRL_ROCKCHIP && PINCTRL_DOVE && POWER_RESET_KEYSTONE &&
> S3C2410_WATCHDOG && VIDEO_OMAP3 && VIDEO_S5P_FIMC && USB_XHCI_MTK &&
> RTC_DRV_AT91SAM9 && LPC18XX_DMAMUX && VIDEO_OMAP4 && HWSPINLOCK_QCOM
> && ATMEL_ST && QCOM_GSBI && PHY_HI6220_USB) selects MFD_SYSCON which
> has unmet direct dependencies (HAS_IOMEM)
> ?
> (ARCH=um, allyesconfig)

The problem is that Kconfig will just print any option that
selects the one that has a missing dependency, but doesn't
show which of those are actually enabled.

> Adding depends here (and in other places) really helps... but it
> should not have any impact...

I think patch 5 by itself would have been sufficient.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 09/15] media: platform: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03 10:57   ` Arnd Bergmann
@ 2016-03-03 12:28     ` Geert Uytterhoeven
  2016-03-03 12:40     ` [rtc-linux] " Krzysztof Kozlowski
  1 sibling, 0 replies; 42+ messages in thread
From: Geert Uytterhoeven @ 2016-03-03 12:28 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Krzysztof Kozlowski, Daniel Lezcano,
	Thomas Gleixner, Dan Williams, Vinod Koul, Jason Cooper,
	Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	Linux Media Mailing List, linux-samsung-soc, netdev, linux-gpio,
	Linux PM list, RTCLINUX, linux-arm-msm, linux-soc, driverdevel,
	USB list

On Thu, Mar 3, 2016 at 11:57 AM, Arnd Bergmann <arnd@arndb.de> wrote:
>> --- a/drivers/media/platform/exynos4-is/Kconfig
>> +++ b/drivers/media/platform/exynos4-is/Kconfig
>> @@ -17,6 +17,7 @@ config VIDEO_S5P_FIMC
>>         tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver"
>>         depends on I2C
>>         depends on HAS_DMA
>> +       depends on HAS_IOMEM    # For MFD_SYSCON
>>         select VIDEOBUF2_DMA_CONTIG
>>         select V4L2_MEM2MEM_DEV
>
> This  is guarded by HAS_DMA, which implies HAS_IOMEM afaik.

No systems around with HV-based DMA?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [rtc-linux] Re: [RFC 04/15] irqchip: st: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03 12:28       ` Arnd Bergmann
@ 2016-03-03 12:33         ` Krzysztof Kozłowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozłowski @ 2016-03-03 12:33 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, rtc-linux, Linus Walleij, Sebastian Reichel,
	David Brown, Alexandre Belloni, Laurent Pinchart, Lee Jones,
	Dan Williams, devel, linux-samsung-soc, Vinod Koul,
	Daniel Lezcano, Kishon Vijay Abraham I, Andy Gross, linux-media,
	Jason Cooper, Mauro Carvalho Chehab, Marc Zyngier, linux-arm-msm,
	linux-gpio, Giuseppe Cavallaro, Thomas Gleixner, linux-soc,
	Alessandro Zummo, Greg Kroah-Hartman, linux-pm, linux-usb,
	linux-kernel, Dmitry Eremin-Solenikov, netdev, dmaengine,
	David Woodhouse

2016-03-03 21:28 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> On Thursday 03 March 2016 21:00:57 Krzysztof Kozlowski wrote:
>> >
>> > Not user visible.
>>
>> Hmmm... you are right (here and in other patches) but why am I getting
>> all these errors:
>> warning: (ST_IRQCHIP && HIP04_ETH && STMMAC_PLATFORM && DWMAC_IPQ806X
>> && DWMAC_LPC18XX && DWMAC_ROCKCHIP && DWMAC_SOCFPGA && DWMAC_STI &&
>> TI_CPSW && PINCTRL_ROCKCHIP && PINCTRL_DOVE && POWER_RESET_KEYSTONE &&
>> S3C2410_WATCHDOG && VIDEO_OMAP3 && VIDEO_S5P_FIMC && USB_XHCI_MTK &&
>> RTC_DRV_AT91SAM9 && LPC18XX_DMAMUX && VIDEO_OMAP4 && HWSPINLOCK_QCOM
>> && ATMEL_ST && QCOM_GSBI && PHY_HI6220_USB) selects MFD_SYSCON which
>> has unmet direct dependencies (HAS_IOMEM)
>> ?
>> (ARCH=um, allyesconfig)
>
> The problem is that Kconfig will just print any option that
> selects the one that has a missing dependency, but doesn't
> show which of those are actually enabled.

Indeed... but apparently putting direct HAS_IOMEM dependency on these
symbols silences the Kconfig warning.

>> Adding depends here (and in other places) really helps... but it
>> should not have any impact...
>
> I think patch 5 by itself would have been sufficient.

Thanks for analysis. Since all patches are independent (and IMHO the
last one is not needed really) so I won't resend the patchset. Instead
let maintainer pick what is meaningful.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 11/15] power: reset: keystone: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03 11:00   ` Arnd Bergmann
@ 2016-03-03 12:33     ` Sebastian Reichel
  2016-03-03 12:35       ` [rtc-linux] " Krzysztof Kozlowski
  0 siblings, 1 reply; 42+ messages in thread
From: Sebastian Reichel @ 2016-03-03 12:33 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Krzysztof Kozlowski, Daniel Lezcano,
	Thomas Gleixner, Dan Williams, Vinod Koul, Jason Cooper,
	Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Dmitry Eremin-Solenikov, David Woodhouse, Alessandro Zummo,
	Alexandre Belloni, Andy Gross, David Brown, Laurent Pinchart,
	Greg Kroah-Hartman, linux-kernel, dmaengine, linux-media,
	linux-samsun, g-soc, netdev, linux-gpio, linux-pm, rtc-linux,
	linux-arm-msm, linux-soc, devel, linux-usb

[-- Attachment #1: Type: text/plain, Size: 851 bytes --]

Hi,

On Thu, Mar 03, 2016 at 12:00:14PM +0100, Arnd Bergmann wrote:
> On Thursday 03 March 2016 17:03:37 Krzysztof Kozlowski wrote:
> > diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
> > index 0a6408a39c66..0f34846ae80d 100644
> > --- a/drivers/power/reset/Kconfig
> > +++ b/drivers/power/reset/Kconfig
> > @@ -141,6 +141,7 @@ config POWER_RESET_XGENE
> >  config POWER_RESET_KEYSTONE
> >         bool "Keystone reset driver"
> >         depends on ARCH_KEYSTONE
> > +       depends on HAS_IOMEM    # For MFD_SYSCON
> >         select MFD_SYSCON
> >         help
> >           Reboot support for the KEYSTONE SoCs.
> > 
> 
> This is platform specific, but we should probably add || COMPILE_TEST
> along with the HAS_IOMEM dependency.

Sounds sensible. Will you guys send an updated patch?

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [rtc-linux] Re: [RFC 11/15] power: reset: keystone: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03 12:33     ` Sebastian Reichel
@ 2016-03-03 12:35       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03 12:35 UTC (permalink / raw)
  To: rtc-linux
  Cc: Arnd Bergmann, linux-arm-kernel, Daniel Lezcano, Thomas Gleixner,
	Dan Williams, Vinod Koul, Jason Cooper, Marc Zyngier,
	Mauro Carvalho Chehab, Lee Jones, Giuseppe Cavallaro,
	Kishon Vijay Abraham I, Linus Walleij, Dmitry Eremin-Solenikov,
	David Woodhouse, Alessandro Zummo, Alexandre Belloni, Andy Gross,
	David Brown, Laurent Pinchart, Greg Kroah-Hartman, linux-kernel,
	dmaengine, linux-media, linux-samsun, g-soc, netdev, linux-gpio,
	linux-pm, linux-arm-msm, linux-soc, devel, linux-usb,
	Krzysztof Kozlowski

2016-03-03 21:33 GMT+09:00 Sebastian Reichel <sre@kernel.org>:
> Hi,
>
> On Thu, Mar 03, 2016 at 12:00:14PM +0100, Arnd Bergmann wrote:
>> On Thursday 03 March 2016 17:03:37 Krzysztof Kozlowski wrote:
>> > diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
>> > index 0a6408a39c66..0f34846ae80d 100644
>> > --- a/drivers/power/reset/Kconfig
>> > +++ b/drivers/power/reset/Kconfig
>> > @@ -141,6 +141,7 @@ config POWER_RESET_XGENE
>> >  config POWER_RESET_KEYSTONE
>> >         bool "Keystone reset driver"
>> >         depends on ARCH_KEYSTONE
>> > +       depends on HAS_IOMEM    # For MFD_SYSCON
>> >         select MFD_SYSCON
>> >         help
>> >           Reboot support for the KEYSTONE SoCs.
>> >
>>
>> This is platform specific, but we should probably add || COMPILE_TEST
>> along with the HAS_IOMEM dependency.
>
> Sounds sensible. Will you guys send an updated patch?
>

Sure, I'll make some compile tests and send a v2.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [rtc-linux] Re: [RFC 09/15] media: platform: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03 10:57   ` Arnd Bergmann
  2016-03-03 12:28     ` Geert Uytterhoeven
@ 2016-03-03 12:40     ` Krzysztof Kozlowski
  2016-03-03 13:05       ` Arnd Bergmann
  1 sibling, 1 reply; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03 12:40 UTC (permalink / raw)
  To: rtc-linux
  Cc: linux-arm-kernel, Daniel Lezcano, Thomas Gleixner, Dan Williams,
	Vinod Koul, Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab,
	Lee Jones, Giuseppe Cavallaro, Kishon Vijay Abraham I,
	Linus Walleij, Sebastian Reichel, Dmitry Eremin-Solenikov,
	David Woodhouse, Alessandro Zummo, Alexandre Belloni, Andy Gross,
	David Brown, Laurent Pinchart, Greg Kroah-Hartman, linux-kernel,
	dmaengine, linux-media, linux-samsung-soc, netdev, linux-gpio,
	linux-pm, linux-arm-msm, linux-soc, devel, linux-usb,
	Krzysztof Kozlowski

2016-03-03 19:57 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> On Thursday 03 March 2016 17:03:35 Krzysztof Kozlowski wrote:
>> diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
>> index 201f5c296a95..e5931e434fa2 100644
>> --- a/drivers/media/platform/Kconfig
>> +++ b/drivers/media/platform/Kconfig
>> @@ -79,6 +79,7 @@ config VIDEO_OMAP3
>>         depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3
>>         depends on HAS_DMA && OF
>>         depends on OMAP_IOMMU
>> +       depends on HAS_IOMEM    # For MFD_SYSCON
>>         select ARM_DMA_USE_IOMMU
>>         select VIDEOBUF2_DMA_CONTIG
>
> This is only built for OMAP3, so we won't get here without HAS_IOMEM

Indeed.

>
>>         select MFD_SYSCON
>> diff --git a/drivers/media/platform/exynos4-is/Kconfig b/drivers/media/platform/exynos4-is/Kconfig
>> index 57d42c6172c5..c4317b99d257 100644
>> --- a/drivers/media/platform/exynos4-is/Kconfig
>> +++ b/drivers/media/platform/exynos4-is/Kconfig
>> @@ -17,6 +17,7 @@ config VIDEO_S5P_FIMC
>>         tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver"
>>         depends on I2C
>>         depends on HAS_DMA
>> +       depends on HAS_IOMEM    # For MFD_SYSCON
>>         select VIDEOBUF2_DMA_CONTIG
>>         select V4L2_MEM2MEM_DEV
>
> This  is guarded by HAS_DMA, which implies HAS_IOMEM afaik.

Looking at Kconfigs - no, it is not implied (or am I missing
something)... and sometimes dependency on HAS_IOMEM is next to
HAS_DMA.

BR,
Krzysztof

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [rtc-linux] [RFC 13/15] staging: media: omap4iss: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 13/15] staging: media: omap4iss: " Krzysztof Kozlowski
@ 2016-03-03 12:42   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03 12:42 UTC (permalink / raw)
  To: rtc-linux
  Cc: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, linux-arm-msm, linux-soc, devel, linux-usb,
	Krzysztof Kozlowski

2016-03-03 17:03 GMT+09:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
> The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
> direct dependencies.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
>  drivers/staging/media/omap4iss/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/staging/media/omap4iss/Kconfig b/drivers/staging/media/omap4iss/Kconfig
> index 46183464ee79..7dea072172aa 100644
> --- a/drivers/staging/media/omap4iss/Kconfig
> +++ b/drivers/staging/media/omap4iss/Kconfig
> @@ -2,6 +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
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select MFD_SYSCON
>         select VIDEOBUF2_DMA_CONTIG
>         ---help---

False alarm, no need for the patch (this depends on ARCH_OMAP4).

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [rtc-linux] [RFC 12/15] soc: qcom: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 12/15] soc: qcom: " Krzysztof Kozlowski
@ 2016-03-03 12:43   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03 12:43 UTC (permalink / raw)
  To: rtc-linux
  Cc: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, linux-arm-msm, linux-soc, devel, linux-usb,
	Krzysztof Kozlowski

2016-03-03 17:03 GMT+09:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
> The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
> direct dependencies.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
>  drivers/soc/qcom/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
> index 461b387d03cc..24de48134c15 100644
> --- a/drivers/soc/qcom/Kconfig
> +++ b/drivers/soc/qcom/Kconfig
> @@ -4,6 +4,7 @@
>  config QCOM_GSBI
>          tristate "QCOM General Serial Bus Interface"
>          depends on ARCH_QCOM
> +        depends on HAS_IOMEM   # For MFD_SYSCON
>          select MFD_SYSCON

False alarm, no need for the patch (this depends on ARCH_QCOM).

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [rtc-linux] [RFC 07/15] pinctrl: mvebu: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 07/15] pinctrl: mvebu: " Krzysztof Kozlowski
@ 2016-03-03 12:43   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03 12:43 UTC (permalink / raw)
  To: rtc-linux
  Cc: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, linux-arm-msm, linux-soc, devel, linux-usb,
	Krzysztof Kozlowski

2016-03-03 17:03 GMT+09:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
> The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
> direct dependencies.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
>  drivers/pinctrl/mvebu/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/pinctrl/mvebu/Kconfig b/drivers/pinctrl/mvebu/Kconfig
> index 170602407c0d..13685923729c 100644
> --- a/drivers/pinctrl/mvebu/Kconfig
> +++ b/drivers/pinctrl/mvebu/Kconfig
> @@ -7,6 +7,7 @@ config PINCTRL_MVEBU
>
>  config PINCTRL_DOVE
>         bool
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select PINCTRL_MVEBU
>         select MFD_SYSCON

False alarm, no need for the patch (non-selectable symbol)

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [rtc-linux] [RFC 06/15] pinctrl: rockchip: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03  8:03 ` [RFC 06/15] pinctrl: rockchip: " Krzysztof Kozlowski
@ 2016-03-03 12:44   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 42+ messages in thread
From: Krzysztof Kozlowski @ 2016-03-03 12:44 UTC (permalink / raw)
  To: rtc-linux
  Cc: Daniel Lezcano, Thomas Gleixner, Dan Williams, Vinod Koul,
	Jason Cooper, Marc Zyngier, Mauro Carvalho Chehab, Lee Jones,
	Giuseppe Cavallaro, Kishon Vijay Abraham I, Linus Walleij,
	Sebastian Reichel, Dmitry Eremin-Solenikov, David Woodhouse,
	Alessandro Zummo, Alexandre Belloni, Andy Gross, David Brown,
	Laurent Pinchart, Greg Kroah-Hartman, linux-kernel, dmaengine,
	linux-media, linux-arm-kernel, linux-samsung-soc, netdev,
	linux-gpio, linux-pm, linux-arm-msm, linux-soc, devel, linux-usb,
	Krzysztof Kozlowski

2016-03-03 17:03 GMT+09:00 Krzysztof Kozlowski <k.kozlowski@samsung.com>:
> The MFD_SYSCON depends on HAS_IOMEM so when selecting it avoid unmet
> direct dependencies.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
>  drivers/pinctrl/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
> index fb8200b8e8ec..dc7ab58d4d74 100644
> --- a/drivers/pinctrl/Kconfig
> +++ b/drivers/pinctrl/Kconfig
> @@ -131,6 +131,7 @@ config PINCTRL_MESON
>
>  config PINCTRL_ROCKCHIP
>         bool
> +       depends on HAS_IOMEM    # For MFD_SYSCON
>         select PINMUX

False alarm, no need for the patch (non-selectable symbol)

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [RFC 08/15] rtc: at91sam9: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03 12:27     ` Geert Uytterhoeven
@ 2016-03-03 12:58       ` Arnd Bergmann
  0 siblings, 0 replies; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 12:58 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Geert Uytterhoeven, Krzysztof Kozlowski, Linus Walleij,
	Sebastian Reichel, David Brown, Alexandre Belloni,
	Laurent Pinchart, Lee Jones, Dan Williams, driverdevel,
	linux-samsung-soc, Vinod Koul, Daniel Lezcano,
	Kishon Vijay Abraham I, Andy Gross, Linux Media Mailing List,
	Jason Cooper, RTCLINUX, Mauro Carvalho Chehab, Marc Zyngier,
	linux-arm-msm, linux-gpio, Giuseppe Cavallaro, Thomas Gleixner,
	linux-soc, Alessandro Zummo, Greg Kroah-Hartman, Linux PM list,
	USB list, linux-kernel, Dmitry Eremin-Solenikov, netdev,
	dmaengine, David Woodhouse

On Thursday 03 March 2016 13:27:59 Geert Uytterhoeven wrote:
> On Thu, Mar 3, 2016 at 11:55 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Thursday 03 March 2016 17:03:34 Krzysztof Kozlowski wrote:
> >> index 0da40e2e4280..5c530b6b125d 100644
> >> --- a/drivers/rtc/Kconfig
> >> +++ b/drivers/rtc/Kconfig
> >> @@ -1302,6 +1302,7 @@ config RTC_DRV_AT91RM9200
> >>  config RTC_DRV_AT91SAM9
> >>         tristate "AT91SAM9 RTT as RTC"
> >>         depends on ARCH_AT91 || COMPILE_TEST
> >> +       depends on HAS_IOMEM    # For MFD_SYSCON
> >>         select MFD_SYSCON
> >>         help
> >>           Some AT91SAM9 SoCs provide an RTT (Real Time Timer) block which
> >>
> >
> > This is technically correct, but the entire RTC menu is hidden
> > inside of 'depends on !UML && !S390', so we won't ever get there
> > on any configuration that does not use HAS_IOMEM.
> >
> > If we did, all other RTC drivers would also fail.
> 
> So UML has no RTC. Should/can it use RTC_DRV_GENERIC?

I think nothing should use that, even if it could ;-)

Funny enough, RTC_DRV_GENERIC would probably actually work if you
run UML as root and set iopl() to allow port access, but we don't
really want it to mess with the host RTC.

I don't know where UML gets it real time, but it doesn't actually
need much other than calling clock_gettime(CLOCK_REALTIME, ...)
to get the host time. Presumably it uses some variation of that.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: [rtc-linux] Re: [RFC 09/15] media: platform: Add missing MFD_SYSCON dependency on HAS_IOMEM
  2016-03-03 12:40     ` [rtc-linux] " Krzysztof Kozlowski
@ 2016-03-03 13:05       ` Arnd Bergmann
  0 siblings, 0 replies; 42+ messages in thread
From: Arnd Bergmann @ 2016-03-03 13:05 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Krzysztof Kozlowski, rtc-linux, Linus Walleij, Sebastian Reichel,
	David Brown, Alexandre Belloni, Laurent Pinchart,
	Krzysztof Kozlowski, Lee Jones, Dan Williams, devel,
	linux-samsung-soc, Vinod Koul, Daniel Lezcano,
	Kishon Vijay Abraham I, Andy Gross, linux-media, Jason Cooper,
	Mauro Carvalho Chehab, Marc Zyngier, linux-arm-msm, linux-gpio,
	Giuseppe Cavallaro, Thomas Gleixner, linux-soc, Alessandro Zummo,
	Greg Kroah-Hartman, linux-pm, linux-usb, linux-kernel,
	Dmitry Eremin-Solenikov, netdev, dmaengine, David Woodhouse

On Thursday 03 March 2016 21:40:23 Krzysztof Kozlowski wrote:
> >>         select MFD_SYSCON
> >> diff --git a/drivers/media/platform/exynos4-is/Kconfig b/drivers/media/platform/exynos4-is/Kconfig
> >> index 57d42c6172c5..c4317b99d257 100644
> >> --- a/drivers/media/platform/exynos4-is/Kconfig
> >> +++ b/drivers/media/platform/exynos4-is/Kconfig
> >> @@ -17,6 +17,7 @@ config VIDEO_S5P_FIMC
> >>         tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver"
> >>         depends on I2C
> >>         depends on HAS_DMA
> >> +       depends on HAS_IOMEM    # For MFD_SYSCON
> >>         select VIDEOBUF2_DMA_CONTIG
> >>         select V4L2_MEM2MEM_DEV
> >
> > This  is guarded by HAS_DMA, which implies HAS_IOMEM afaik.
> 
> Looking at Kconfigs - no, it is not implied (or am I missing
> something)... and sometimes dependency on HAS_IOMEM is next to
> HAS_DMA.
> 
> 

Ah, you are right: UML has no DMA and no IOMEM, but s390 can
have IOMEM (if PCI is enabled) and always sets HAS_DMA.

In practice, I think the HAS_DMA symbol is not as well-defined
as it should be, it basically refers to the presence of the dma-mapping.h
API, and that only really makes sense when you also have IOMEM,
so there might be an implied dependency between the two, but it's
not enforced or actually true.

	Arnd

^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2016-03-03 13:07 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-03  8:03 [RFC 00/15] tree-wide: mfd: syscon: Fix unmet ioremap dependency Krzysztof Kozlowski
2016-03-03  8:03 ` [RFC 01/15] clocksource: atmel: Add missing MFD_SYSCON dependency on HAS_IOMEM Krzysztof Kozlowski
2016-03-03 10:52   ` Arnd Bergmann
2016-03-03  8:03 ` [RFC 02/15] dmaengine: nxp: " Krzysztof Kozlowski
2016-03-03 10:52   ` Arnd Bergmann
2016-03-03  8:03 ` [RFC 03/15] hwspinlock: qcom: " Krzysztof Kozlowski
2016-03-03 10:53   ` Arnd Bergmann
2016-03-03  8:03 ` [RFC 04/15] irqchip: st: " Krzysztof Kozlowski
2016-03-03 10:53   ` Arnd Bergmann
2016-03-03 12:00     ` [rtc-linux] " Krzysztof Kozlowski
2016-03-03 12:28       ` Arnd Bergmann
2016-03-03 12:33         ` Krzysztof Kozłowski
2016-03-03  8:03 ` [RFC 05/15] phy: hi6220: " Krzysztof Kozlowski
2016-03-03 10:54   ` Arnd Bergmann
2016-03-03  8:03 ` [RFC 06/15] pinctrl: rockchip: " Krzysztof Kozlowski
2016-03-03 12:44   ` [rtc-linux] " Krzysztof Kozlowski
2016-03-03  8:03 ` [RFC 07/15] pinctrl: mvebu: " Krzysztof Kozlowski
2016-03-03 12:43   ` [rtc-linux] " Krzysztof Kozlowski
2016-03-03  8:03 ` [RFC 08/15] rtc: at91sam9: " Krzysztof Kozlowski
2016-03-03 10:55   ` Arnd Bergmann
2016-03-03 12:27     ` Geert Uytterhoeven
2016-03-03 12:58       ` Arnd Bergmann
2016-03-03  8:03 ` [RFC 09/15] media: platform: " Krzysztof Kozlowski
2016-03-03 10:57   ` Arnd Bergmann
2016-03-03 12:28     ` Geert Uytterhoeven
2016-03-03 12:40     ` [rtc-linux] " Krzysztof Kozlowski
2016-03-03 13:05       ` Arnd Bergmann
2016-03-03  8:03 ` [RFC 10/15] net: ethernet: " Krzysztof Kozlowski
2016-03-03 10:59   ` Arnd Bergmann
2016-03-03  8:03 ` [RFC 11/15] power: reset: keystone: " Krzysztof Kozlowski
2016-03-03 11:00   ` Arnd Bergmann
2016-03-03 12:33     ` Sebastian Reichel
2016-03-03 12:35       ` [rtc-linux] " Krzysztof Kozlowski
2016-03-03  8:03 ` [RFC 12/15] soc: qcom: " Krzysztof Kozlowski
2016-03-03 12:43   ` [rtc-linux] " Krzysztof Kozlowski
2016-03-03  8:03 ` [RFC 13/15] staging: media: omap4iss: " Krzysztof Kozlowski
2016-03-03 12:42   ` [rtc-linux] " Krzysztof Kozlowski
2016-03-03  8:03 ` [RFC 14/15] usb: xhci: mtk: " Krzysztof Kozlowski
2016-03-03 11:01   ` Arnd Bergmann
2016-03-03  8:03 ` [RFC 15/15] mfd: syscon: Fix build of missing ioremap on UM Krzysztof Kozlowski
2016-03-03 10:50   ` Arnd Bergmann
2016-03-03 12:24     ` [rtc-linux] " Krzysztof Kozlowski

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).