[PATCH] pinctrl: fix build failure on PPC

Linus Walleij linus.walleij at stericsson.com
Tue Apr 10 03:52:37 EDT 2012


From: Linus Walleij <linus.walleij at linaro.org>

commit 23289e6ecc6d ("pinctrl: core device tree mapping table
parsing support") caused a build failure on PPC:

drivers/pinctrl/devicetree.c: In function 'dt_free_map':
drivers/pinctrl/devicetree.c:44:42: error: dereferencing pointer to incomplete type
drivers/pinctrl/devicetree.c:45:6: error: dereferencing pointer to incomplete type
drivers/pinctrl/devicetree.c: In function 'dt_to_map_one_config':
drivers/pinctrl/devicetree.c:140:21: error: dereferencing pointer to incomplete type
drivers/pinctrl/devicetree.c:141:10: error: dereferencing pointer to incomplete type
drivers/pinctrl/devicetree.c:146:11: error: dereferencing pointer to incomplete type

This is probably because the Makefile for pinctrl contains this,
that makes a small piece of the implementation build and link
in isolation:

obj-$(CONFIG_OF)                += devicetree.o

So let's use some local Kconfig option that depends on both OF
and PINCTRL so that this file is only compiled if you have
both enabled.

Reported-by: Stephen Rothwell <sfr at canb.auug.org.au>
Cc: Stephen Rothwell <sfr at canb.auug.org.au>
Cc: Stephen Warren <swarren at wwwdotorg.org>
Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
---
 drivers/pinctrl/Kconfig  |    5 +++++
 drivers/pinctrl/Makefile |    2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index abfb964..d68c878 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -17,6 +17,11 @@ config PINMUX
 config PINCONF
 	bool "Support pin configuration controllers"
 
+config PINCTRL_OF
+	bool
+	depends on OF
+	default y if OF
+
 config GENERIC_PINCONF
 	bool
 	select PINCONF
diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
index 049c9fb..5412f60 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
@@ -5,7 +5,7 @@ ccflags-$(CONFIG_DEBUG_PINCTRL)	+= -DDEBUG
 obj-$(CONFIG_PINCTRL)		+= core.o
 obj-$(CONFIG_PINMUX)		+= pinmux.o
 obj-$(CONFIG_PINCONF)		+= pinconf.o
-obj-$(CONFIG_OF)		+= devicetree.o
+obj-$(CONFIG_PINCTRL_OF)	+= devicetree.o
 obj-$(CONFIG_GENERIC_PINCONF)	+= pinconf-generic.o
 obj-$(CONFIG_PINCTRL_PXA3xx)	+= pinctrl-pxa3xx.o
 obj-$(CONFIG_PINCTRL_MMP2)	+= pinctrl-mmp2.o
-- 
1.7.9.2




More information about the linux-arm-kernel mailing list