[PATCH 4/6] pinctrl: Add sun50i-a64 pinctrl driver
Sascha Hauer
s.hauer at pengutronix.de
Fri Nov 8 02:48:37 PST 2024
On Thu, Nov 07, 2024 at 03:57:20PM +0100, Jules Maselbas wrote:
> sunxi pinctrl driver, adapted from Linux, is split in two parts:
> - pinctrl-sunxi.c that implements gpio, pinctrl and pinmux functions
> - pinctrl-sun50i-a64.c that declare sun50i pins and their functions.
> This file only require minor adaptations and be easily copied from Linux.
>
> The pin functions are needed for uart, SD/MMC, and likely for other
> controllers too.
>
> Signed-off-by: Jules Maselbas <jmaselbas at zdiv.net>
> ---
> drivers/pinctrl/Kconfig | 2 +
> drivers/pinctrl/Makefile | 1 +
> drivers/pinctrl/sunxi/Kconfig | 13 +
> drivers/pinctrl/sunxi/Makefile | 3 +
> drivers/pinctrl/sunxi/pinctrl-sun50i-a64.c | 594 +++++++++++++++++++++
> drivers/pinctrl/sunxi/pinctrl-sunxi.c | 372 +++++++++++++
> drivers/pinctrl/sunxi/pinctrl-sunxi.h | 224 ++++++++
> 7 files changed, 1209 insertions(+)
> create mode 100644 drivers/pinctrl/sunxi/Kconfig
> create mode 100644 drivers/pinctrl/sunxi/Makefile
> create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun50i-a64.c
> create mode 100644 drivers/pinctrl/sunxi/pinctrl-sunxi.c
> create mode 100644 drivers/pinctrl/sunxi/pinctrl-sunxi.h
>
...
> +
> +int sunxi_pinctrl_probe(struct device *dev)
> +{
> + const struct sunxi_pinctrl_desc *desc;
> + struct sunxi_pinctrl *pinctrl;
> + struct resource *iores;
> + int ret;
> +
> + if (!IS_ENABLED(CONFIG_PINCTRL))
> + return 0;
You can drop this. A few drivers have it because they provide GPIO
support even with pinctrl support disabled, but you don't do this here.
Sascha
> +
> + desc = device_get_match_data(dev);
> + if (!desc)
> + return -EINVAL;
> +
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list