On 18/12/2023 18:19, Théo Lebrun wrote: > Add the Mobileye EyeQ5 pinctrl (pinconf & pinmux) controller driver. See > the header comment for more information on how it works. This driver is > specific to this platform; it might grow to add later support of other > platforms from Mobileye. > > Existing pins and their function live statically in the driver code > rather than in the devicetree, see compatible match data. > > Signed-off-by: Théo Lebrun <theo.lebrun@xxxxxxxxxxx> > --- > MAINTAINERS | 1 + > drivers/pinctrl/Kconfig | 15 + > drivers/pinctrl/Makefile | 1 + > drivers/pinctrl/pinctrl-eyeq5.c | 593 ++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 610 insertions(+) > > diff --git a/MAINTAINERS b/MAINTAINERS > index d8d9583a5a06..5272b61d51d5 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -14558,6 +14558,7 @@ F: Documentation/devicetree/bindings/reset/mobileye,eyeq5-reset.yaml > F: arch/mips/boot/dts/mobileye/ > F: arch/mips/configs/generic/board-eyeq5.config > F: arch/mips/generic/board-epm5.its.S > +F: drivers/pinctrl/pinctrl-eyeq5.c > F: drivers/reset/reset-eyeq5.c > F: include/dt-bindings/reset/mobileye,eyeq5-reset.h > F: include/dt-bindings/soc/mobileye,eyeq5.h > diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig > index 1de4e1edede0..e05c59116215 100644 > --- a/drivers/pinctrl/Kconfig > +++ b/drivers/pinctrl/Kconfig > @@ -195,6 +195,21 @@ config PINCTRL_EQUILIBRIUM > desired pin functions, configure GPIO attributes for LGM SoC pins. > Pin muxing and pin confi ... > + > +struct eq5p_match { > + unsigned int regs[EQ5P_REG_MAX]; > + const struct pinctrl_pin_desc *pins; > + unsigned int npins; > + const struct eq5p_function *funcs; > + unsigned int nfuncs; > +}; Do not declare types in the middle of the unit. This goes to the begining of the file. Best regards, Krzysztof