2017-04-15 19:55:39

by SF Markus Elfring

[permalink] [raw]
Subject: pinctrl: imx: Checking reuse of grouping functionality

Hello,

A preprocessor symbol like “CONFIG_GENERIC_PINCTRL_GROUPS” was introduced
by the commit c033a718f615b6b3ddc83ce3e0a217c30bd09cb5 (“pinctrl: stricten up
generic group code”) on 2017-01-03. Some functions are only available then
when this macro is defined.

I have got the impression that the corresponding programming interface is used
by the source file “drivers/pinctrl/freescale/pinctrl-imx.c” unconditionally.
How do you think about to extend specifications for conditional compilation there?

Regards,
Markus


2017-04-17 08:26:03

by Gary Bisson

[permalink] [raw]
Subject: Re: pinctrl: imx: Checking reuse of grouping functionality

Hi Markus, All,

On Sat, Apr 15, 2017 at 9:55 PM, SF Markus Elfring
<[email protected]> wrote:
> Hello,
>
> A preprocessor symbol like “CONFIG_GENERIC_PINCTRL_GROUPS” was introduced
> by the commit c033a718f615b6b3ddc83ce3e0a217c30bd09cb5 (“pinctrl: stricten up
> generic group code”) on 2017-01-03. Some functions are only available then
> when this macro is defined.

Yes because the pinctrl driver can be used without this configuration
by some drivers.

> I have got the impression that the corresponding programming interface is used
> by the source file “drivers/pinctrl/freescale/pinctrl-imx.c” unconditionally.
> How do you think about to extend specifications for conditional compilation there?

However the imx pinctrl driver _absolutely_ needs this configuration
to work. That is why it is selected automatically when the driver is
enabled [1].

Therefore it isn't possible to build the driver without
GENERIC_PINCTRL_GROUPS and so adding conditions is not necessary.

Regards,
Gary

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pinctrl/freescale/Kconfig#n3

2017-04-17 16:08:46

by SF Markus Elfring

[permalink] [raw]
Subject: Re: pinctrl: imx: Checking reuse of grouping functionality

> However the imx pinctrl driver _absolutely_ needs this configuration to work.

Thanks for your explanation that the file “drivers/pinctrl/freescale/Kconfig”
will usually provide needed information for this software module.

Would it make sense to document such a requirement also by a preprocessor error
directive in the source file “drivers/pinctrl/freescale/pinctrl-imx.c”
for the special case if the macro “CONFIG_GENERIC_PINCTRL_GROUPS” would
accidentally not be defined?

Regards,
Markus