Thread (9 messages) 9 messages, 4 authors, 2016-07-05

Re: linux-next: Tree for Jun 27 (pinctrl && !CONFIG_OF)

From: Arnd Bergmann <arnd@arndb.de>
Date: 2016-06-28 08:35:48
Also in: linux-gpio, linux-next, lkml

On Tuesday, June 28, 2016 9:00:47 AM CEST Alexander Stein wrote:
On Monday 27 June 2016 23:36:29, Arnd Bergmann wrote:
quoted
On Monday, June 27, 2016 11:15:25 AM CEST Randy Dunlap wrote:
quoted
On 06/26/16 23:39, Stephen Rothwell wrote:
quoted
Hi all,
quoted
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 [off-list ref])


../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 see
quoted
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.
quoted
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?
I think we can start by reverting your patch: for compile-testing we can
always enable CONFIG_OF these days, which will also turn on OF_GPIO.

Compile-testing drivers that need OF_GPIO while OF is disabled makes
no sense to me, it's not a configuration that anybody can ever use
and it adds no build coverage.

I think we should also drop all 'select OF_GPIO' statements, AFAICT
we have just proven that they are all redundant because they would
have otherwise broken things. This should be a separate cleanup patch.

	Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help