Re: [PATCH 7/9] pinctrl: mvebu: add driver for Armada AP806 pinctrl

From: Paul Gortmaker
Date: Sat May 20 2017 - 15:05:05 EST


On Fri, May 19, 2017 at 12:04 PM, Gregory CLEMENT
<gregory.clement@xxxxxxxxxxxxxxxxxx> wrote:
> From: Hanna Hawa <hannah@xxxxxxxxxxx>
>
> This commit adds a pinctrl driver for the pin-muxing controller found in
> the AP806 part of the Marvell Armada 7K and 8K SoCs. Its register
> interface is compatible with the one used by previous mvebu pin
> controllers, so the common logic in drivers/pinctrl/mvebu/pinctrl-mvebu.c
> is used.
>
> Signed-off-by: Hanna Hawa <hannah@xxxxxxxxxxx>
> Reviewed-by: Shadi Ammouri <shadi@xxxxxxxxxxx>
> [updated for mvebu pinctrl changes
> - converted to simple_mmio
> - removed unimplemented .remove function
> - removed DTS description
> - converted to use syscon/regmap
> --rmk]
> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx>
> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
> ---
> drivers/pinctrl/mvebu/Kconfig | 4 +-
> drivers/pinctrl/mvebu/Makefile | 1 +-
> drivers/pinctrl/mvebu/pinctrl-armada-ap806.c | 145 ++++++++++++++++++++-
> 3 files changed, 150 insertions(+)
> create mode 100644 drivers/pinctrl/mvebu/pinctrl-armada-ap806.c
>
> diff --git a/drivers/pinctrl/mvebu/Kconfig b/drivers/pinctrl/mvebu/Kconfig
> index 8cb444b60ae9..0e0b009f2b71 100644
> --- a/drivers/pinctrl/mvebu/Kconfig
> +++ b/drivers/pinctrl/mvebu/Kconfig
> @@ -28,6 +28,10 @@ config PINCTRL_ARMADA_39X
> bool
> select PINCTRL_MVEBU
>
> +config PINCTRL_ARMADA_AP806
> + bool
> + select PINCTRL_MVEBU

If this isn't going to be modular, can we remove all the uses
of module.h and MODULE_ etc. I've nearly got all of these
cleaned up in pinctrl and it would be nice to not have new
ones creep back in.

Thanks,
Paul.
--

> +
> config PINCTRL_ARMADA_XP
> bool
> select PINCTRL_MVEBU
> diff --git a/drivers/pinctrl/mvebu/Makefile b/drivers/pinctrl/mvebu/Makefile
> index 60c245a60f39..455db274b53d 100644
> --- a/drivers/pinctrl/mvebu/Makefile
> +++ b/drivers/pinctrl/mvebu/Makefile
> @@ -5,6 +5,7 @@ obj-$(CONFIG_PINCTRL_ARMADA_370) += pinctrl-armada-370.o
> obj-$(CONFIG_PINCTRL_ARMADA_375) += pinctrl-armada-375.o
> obj-$(CONFIG_PINCTRL_ARMADA_38X) += pinctrl-armada-38x.o
> obj-$(CONFIG_PINCTRL_ARMADA_39X) += pinctrl-armada-39x.o
> +obj-$(CONFIG_PINCTRL_ARMADA_AP806) += pinctrl-armada-ap806.o
> obj-$(CONFIG_PINCTRL_ARMADA_XP) += pinctrl-armada-xp.o
> obj-$(CONFIG_PINCTRL_ARMADA_37XX) += pinctrl-armada-37xx.o
> obj-$(CONFIG_PINCTRL_ORION) += pinctrl-orion.o
> diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-ap806.c b/drivers/pinctrl/mvebu/pinctrl-armada-ap806.c
> new file mode 100644
> index 000000000000..269b1c1f53b1
> --- /dev/null
> +++ b/drivers/pinctrl/mvebu/pinctrl-armada-ap806.c
> @@ -0,0 +1,145 @@
> +/*
> + * Marvell Armada ap806 pinctrl driver based on mvebu pinctrl core
> + *
> + * Copyright (C) 2017 Marvell
> + *
> + * Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
> + * Hanna Hawa <hannah@xxxxxxxxxxx>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + */
> +
> +#include <linux/err.h>
> +#include <linux/init.h>
> +#include <linux/io.h>
> +#include <linux/module.h>

[...]

> +module_platform_driver(armada_ap806_pinctrl_driver);
> +
> +MODULE_AUTHOR("Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>");
> +MODULE_DESCRIPTION("Marvell Armada ap806 pinctrl driver");
> +MODULE_LICENSE("GPL v2");
> --
> git-series 0.9.1