Re: [PATCH v4 03/15] pinctrl: bcm: add bcm63xx base code

From: Andy Shevchenko
Date: Thu Mar 04 2021 - 07:11:36 EST


On Thu, Mar 4, 2021 at 1:17 PM Álvaro Fernández Rojas <noltari@xxxxxxxxx> wrote:
> > El 4 mar 2021, a las 11:43, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> escribió:
> > On Thu, Mar 4, 2021 at 10:57 AM Álvaro Fernández Rojas
> > <noltari@xxxxxxxxx> wrote:
> >>
> >> Add a helper for registering BCM63XX pin controllers.
> >>
> >> Signed-off-by: Álvaro Fernández Rojas <noltari@xxxxxxxxx>
> >> Signed-off-by: Jonas Gorski <jonas.gorski@xxxxxxxxx>
> >
> > This SoB is in a strange place.
>
> Why?
> Can’t we both sign the patches?

You can, but you have to follow the rules (see chapters 11-13 in the [1]).

> > The order is wrong taking into account the From header (committer). So,
> > it's not clear who is the author, who is a co-developer, and who is
> > the committer (one person may utilize few roles).
> > Check for the rest of the series as well (basically this is the rule
> > of thumb to recheck entire code for the comment you have got at any
> > single place of it).
>
> Jonas was the original author of this patches (sent back in 2016) and I’m just continuing his work and trying to get those patches upstreamed.
> I don’t know how to do it correctly, so a little hint would be appreciated.

There are two ways (depends on the amount of work you have done):
- leave him as an original author (so Author field will have his name,
not yours) and apply yours with Co-developed-by tag and SoB since you
are co-developed and committed
- other way around

[1]: https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin

...

> >> +#include <linux/pinctrl/pinctrl.h>
> >> +#include <linux/regmap.h>
> >
> > The rule of thumb is to include only the headers that the below code
> > is direct user of.
>
> Ok, so I will move them to pinctrl-bcm63xx.c.
> I added them because they were needed for pinctrl_desc.

Ah, for that yes, you need a header.

> > The above are not used anyhow, while missed types.h and several
> > forward declarations.
>
> … so I should include linux/types.h and I don’t know what you mean by “several forward declarations”…

Like

struct regmap;

which effectively tells the compiler that "hey, this type is defined
somewhere else".

--
With Best Regards,
Andy Shevchenko