lkml.org 
[lkml]   [2012]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: linux-next: build failure after merge of the pinctrl tree
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?


\
 
 \ /
  Last update: 2012-04-04 05:47    [W:0.054 / U:0.536 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site