[RFC] pinctrl: Replace list_groups() with get_groups_count()
Stephen Warren
swarren at wwwdotorg.org
Thu Mar 29 13:26:48 EDT 2012
On 03/29/2012 10:34 AM, viresh kumar wrote:
> Most of the SoC drivers implement list_*() routines for pinctrl, pinmux,
> pinconf, etc, And these routines continue returning zero until the second
> argument is greater than total count of available groups, function, etc.
>
> I will take struct pinctrl_ops as an example to elaborate my concern/doubts.
>
> There are few concerns here:
> - list_groups() is called multiple times. If the purpose of this routine is to
> only check the number of groups available, then why not remove it and create
> another routine which returns number of total groups. Over which, we can run a
> simple loop.
> - All client drivers have checks in their ops routines to check the range of
> groups, which is just not required if we pass the correct number to pinctrl
> framework. Because these ops are going to be called via pinctrl, and we can
> trust on it and place these range checkers there only to make SoC drivers
> simple.
>
> I just wanted to have different views about my concerns/idea before i start
> coding. If this idea looks fine, i would do this change across pinmux framework.
The concept is fine by me.
I vaguely recall raising the same issue before, and Linus saying he
wanted to be consistent with similar list_*() functions in other
subsystems, but personally I'd prefer to evaluate this aspect of the
pinctrl subsystem on its own.
More information about the linux-arm-kernel
mailing list