Re: [PATCH 3/4] pinctrl: sh-pfc: Add check for empty pinmux groups/functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Simon,

On Fri, Apr 26, 2019 at 11:35 AM Simon Horman <horms@xxxxxxxxxxxx> wrote:
> On Thu, Apr 25, 2019 at 11:55:41AM +0200, Geert Uytterhoeven wrote:
> > The pinmux groups and functions arrays may contain two parts, to ease
> > supporting SoCs that expose pin subsets of other related SoCs.  Both
> > parts need to be declared with explicit sizes, which thus need to be
> > updated when adding support for more groups and functions.
> >
> > If a size is too small, the compiler will detect this at build time
> > ("excess elements in array initializer").
> > If a size is too large, this may go undetected (for pin groups), lead to
> > pin controller registration failures (for pin functions: "pinmux ops has
> > no name for functionN"), or crash the optional run-time debug code (for
> > pin groups).
> >
> > Extend the run-time debug code with checks to detect this, to help
> > catching bugs early.
> >
> > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
>
> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>

Thank you!

> > --- a/drivers/pinctrl/sh-pfc/core.c
> > +++ b/drivers/pinctrl/sh-pfc/core.c
> > @@ -780,9 +780,15 @@ static void __init sh_pfc_check_info(const struct sh_pfc_soc_info *info)
> >
> >       for (i = 0; i < info->nr_functions; i++) {
> >               func = &info->functions[i];
> > +             if (!func->name) {
> > +                     pr_err("%s: empty function %u\n", drvname, i);
> > +                     sh_pfc_errors++;
>
> Not strictly related to this patch but did
> you consider not having sh_pfc_errors global to this file?

Do you have an alternative?
I could hide it, and combine it with the pr_err() in a sh_pfc_report_error()
function, but it would still be global.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux