Re: [PATCH v2 24/28] pinctrl: Add support for the Lantic PEF2256 pinmux

From: Herve Codina
Date: Mon Aug 07 2023 - 10:27:39 EST


Hi Linus,

On Mon, 7 Aug 2023 15:05:15 +0200
Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:

> Hi Herve,
>
> thanks for your patch!
>
> First: is this patch something we could merge separately? I don't see
> any dependency on the other patches.

It depends on pef2256:
in drivers/pinctrl/Kconfig:
--- 8< ---
+config PINCTRL_PEF2256
+ tristate "Lantiq PEF2256 (FALC56) pin controller driver"
+ depends on OF && FRAMER_PEF2256
--- 8< ---
in drivers/pinctrl/pinctrl-pef2256.c
--- 8< ---
+#include <linux/framer/pef2256.h>
--- 8< ---

All the pef2256 it depends on is provided by
path 23/28 "net: wan: framer: Add support for the Lantiq PEF2256 framer"

>
> On Wed, Jul 26, 2023 at 5:04 PM Herve Codina <herve.codina@xxxxxxxxxxx> wrote:
>
> > The Lantiq PEF2256 is a framer and line interface component designed to
> > fulfill all required interfacing between an analog E1/T1/J1 line and the
> > digital PCM system highway/H.100 bus.
> >
> > This pinmux support handles the pin muxing part (pins RP(A..D) and pins
> > XP(A..D)) of the PEF2256.
> >
> > Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx>
>
> So it is a bridge chip? Please use that terminology since Linux
> DRM often talks about bridges.
>
> > +++ b/drivers/pinctrl/pinctrl-pef2256-regs.h
> (...)
> > +#include "linux/bitfield.h"
>
> Really? I don't think there is such a file there.
>
> Do you mean <linux/bitfield.h> and does this even compile?

Yes and it compiles (even with quoted included file).
I will be changed to <linux/bitfield.h> in the next interation.

>
> > diff --git a/drivers/pinctrl/pinctrl-pef2256.c b/drivers/pinctrl/pinctrl-pef2256.c
> (...)
> > +struct pef2256_pinctrl {
> > + struct device *dev;
> > + struct regmap *regmap;
> > + enum pef2256_version version;
> > + struct {
> > + struct pinctrl_desc pctrl_desc;
> > + const struct pef2256_function_desc *functions;
> > + unsigned int nfunctions;
> > + } pinctrl;
>
> Uh anonymous struct... can't you just define the struct separately
> with a name? Or fold it into struct pef2256_pinctrl without the
> additional struct? Thanks.

I will fold it into struct pef2256_pinctrl in the next iteration.

Thanks
Hervé

>
> Otherwise it looks neat!
>
> Yours,
> Linus Walleij