Re: linux-next: build failure after merge of the pinctrl tree

From: Linus Walleij
Date: Tue Apr 10 2012 - 03:42:25 EST


On Wed, Apr 4, 2012 at 5:43 AM, Stephen Warren <swarren@xxxxxxxxxxxxx> wrote:
> 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

Easiest fixed with a new Kconfig like CONFIG_PINCTRL_OF that
depend on both right?

I'll cook a patch.

Yours,
Linus Walleij
--
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/