Re: linux-next: Tree for Jun 27 (pinctrl && !CONFIG_OF)
From: Alexander Stein
Date: Tue Jun 28 2016 - 03:01:28 EST
On Monday 27 June 2016 23:36:29, Arnd Bergmann wrote:
> On Monday, June 27, 2016 11:15:25 AM CEST Randy Dunlap wrote:
> > On 06/26/16 23:39, Stephen Rothwell wrote:
> > > Hi all,
> >
> > > Changes since 20160624:
> > on i386, when CONFIG_OF is not enabled ...
> > but OF_GPIO is enabled due to this in drivers/gpio/Kconfig:
> >
> > config OF_GPIO
> >
> > def_bool y
> > depends on OF || COMPILE_TEST
> >
> > (above from commit 1e4a80640338924b9f9fd7a121ac31d08134410a
> > from Alexander Stein <alexanders83@xxxxxx>)
> >
> >
> > ../drivers/pinctrl/bcm/pinctrl-iproc-gpio.c:381:20: error:
> > 'pinconf_generic_dt_node_to_map_pin' undeclared here (not in a function)
> > ../drivers/pinctrl/bcm/pinctrl-cygnus-mux.c:739:20: error:
> > 'pinconf_generic_dt_node_to_map_group' undeclared here (not in a
> > function) ../drivers/pinctrl/bcm/pinctrl-nsp-gpio.c:365:20: error:
> > 'pinconf_generic_dt_node_to_map_pin' undeclared here (not in a function)
> >
> > because that function is only present when CONFIG_OF is enabled.
> >
> >
> > Also, why does that commit (1e4a80640338924b9f9fd7a121ac31d08134410a)
> > not have any other S-O-B lines in it? like whoever merged it?
>
> (adding Linus Walleij and Alexander Stein to Cc)
>
> Unfortunately, the changelog also doesn't say what triggered that
> change. I guess there was a driver that did 'select OF_GPIO'
> and had a dependency on COMPILE_TEST, though I don't see any
> driver doing that in linux-next.
It was the first change of the changes done in my branch
https://github.com/AlexanderStein/linux/tree/gpio-compile-test
in order to compile test as much gpio drivers as possible. Yet, pinctrl
drivers were out of my scope.
> I think the commit should just be reverted, it clearly breaks
> stuff, and whatever needs it can be fixed in a better way.
Why not depend PINCTRL_IPROC_GPIO on CONFIG_OF as Randy stated
pinconf_generic_dt_node_to_map_pin and friends are only present if CONFIG_OF
is enabled. Depending on OF_GPIO only is enough under the assumption a) you
made below.
Also what about providing dummy implementation for those missing function in
case CONFIG_OF is disabled, my preference as more code can be compile tested.
> Specifically, we have three ways that the OF_GPIO symbol
> is used:
>
> a) it is implicitly enabled when both GPIOLIB and OF are turned on
or if COMPILE_TEST is enabled
I think a problem in this and possibly other cases is that COMPILE_TEST
loosens the Kconfig dependencies to some degree. How to proceed? Allow compile
testing drivers only if some optional settings are enabled?
Best regards,
Alexander