On 04/03/2012 08:44 PM, Stephen Rothwell wrote: > Hi Linus, > > After merging the pinctrl tree, today's linux-next build (powerpc > ppc64_defconfig) failed like this: > > 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 doesn't repro for me with tegra_defconfig, which has both CONFIG_PINCTRL and CONFIG_OF enabled. I believe this happens because of the following in drivers/pinctrl/Makefile: obj-$(CONFIG_OF) += devicetree.o On ppc64, CONFIG_OF is probably true, yet the rest of PINCTRL isn't enabled, hence the headers that are included probably don't declare all the types needed to compile that file. In fact, the file shouldn't be compiled, since it's not needed if !CONFIG_PINCTRL. So perhaps the Makefile should be more like: ifeq ($(CONFIG_OF),y) obj-$(CONFIG_PINCTRL) += devicetree.o endif (I see something similar to that in drivers/mmc/host/Makefile) But, I notice the same construct in ./drivers/regulator/Makefile, and I don't believe regulators are enabled for ppc64. Perhaps the regulator headers always declare the types, so the issue doesn't come up, although I daresay that perhaps the regulator file also shouldn't be compiled when CONFIG_REGULATOR is off? -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html