Hi Linus,
On Mon, 7 Aug 2023 15:05:15 +0200 Linus Walleij linus.walleij@linaro.org 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@bootlin.com 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@bootlin.com
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