Thread (91 messages) 91 messages, 8 authors, 2023-08-08

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

From: Herve Codina <herve.codina@bootlin.com>
Date: 2023-08-07 14:27:39
Also in: alsa-devel, linux-arm-kernel, linux-devicetree, linux-gpio, linuxppc-dev, lkml

Hi Linus,

On Mon, 7 Aug 2023 15:05:15 +0200
Linus Walleij [off-list ref] 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 [off-list ref] wrote:
quoted
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@bootlin.com>  
So it is a bridge chip? Please use that terminology since Linux
DRM often talks about bridges.
quoted
+++ b/drivers/pinctrl/pinctrl-pef2256-regs.h  
(...)
quoted
+#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.
quoted
diff --git a/drivers/pinctrl/pinctrl-pef2256.c b/drivers/pinctrl/pinctrl-pef2256.c  
(...)
quoted
+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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help