[PATCH] pinctrl: fix build failure on PPC

From: Linus Walleij
Date: Tue Apr 10 2012 - 03:53:22 EST


From: Linus Walleij <linus.walleij@xxxxxxxxxx>

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@xxxxxxxxxxxxxxxx>
Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Cc: Stephen Warren <swarren@xxxxxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
---
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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/