Re: [PATCH 3/3 v4] blackfin: pinctrl-adi2: Enable PINCTRL frameworkfor BF54x and BF60x.

From: Steven Miao
Date: Sun Sep 22 2013 - 23:22:14 EST


Acked-by: Steven Miao <realmz6@xxxxxxxxx>

On Tue, Sep 3, 2013 at 4:29 PM, Sonic Zhang <sonic.adi@xxxxxxxxx> wrote:
> From: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
>
> - Remove unused macro MAX_RESOURCES
> - Override blackfin legacy peripheral pinmux request and free APIs by
> devm_pinctrl_get_select_default() to init the peripheral portmux setting.
>
> v3-chagnes:
> - Move pinctrl soc data out of blackfin arch folder.
>
> Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
> ---
> arch/blackfin/Kconfig | 4 ++++
> arch/blackfin/include/asm/portmux.h | 19 +++++++++++++++++--
> arch/blackfin/mach-bf548/include/mach/portmux.h | 2 --
> arch/blackfin/mach-bf609/include/mach/portmux.h | 2 --
> 4 files changed, 21 insertions(+), 6 deletions(-)
>
> diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
> index 9eff25b..ed7157f 100644
> --- a/arch/blackfin/Kconfig
> +++ b/arch/blackfin/Kconfig
> @@ -324,6 +324,10 @@ config GPIO_ADI
> def_bool y
> depends on (BF51x || BF52x || BF53x || BF538 || BF539 || BF561)
>
> +config PINCTRL
> + def_bool y
> + depends on BF54x || BF60x
> +
> config MEM_MT48LC64M4A2FB_7E
> bool
> depends on (BFIN533_STAMP)
> diff --git a/arch/blackfin/include/asm/portmux.h b/arch/blackfin/include/asm/portmux.h
> index 9b1e2c3..7aa2043 100644
> --- a/arch/blackfin/include/asm/portmux.h
> +++ b/arch/blackfin/include/asm/portmux.h
> @@ -17,14 +17,29 @@
> #define P_MAYSHARE 0x2000
> #define P_DONTCARE 0x1000
>
> -
> +#ifdef CONFIG_PINCTRL
> +#include <asm/irq_handler.h>
> +
> +#define gpio_pint_regs bfin_pint_regs
> +#define adi_internal_set_wake bfin_internal_set_wake
> +
> +#define peripheral_request(per, label) 0
> +#define peripheral_free(per)
> +#define peripheral_request_list(per, label) \
> + (pdev ? (IS_ERR(devm_pinctrl_get_select_default(&pdev->dev)) \
> + ? -EINVAL : 0) : 0)
> +#define peripheral_free_list(per)
> +#else
> int peripheral_request(unsigned short per, const char *label);
> void peripheral_free(unsigned short per);
> int peripheral_request_list(const unsigned short per[], const char *label);
> void peripheral_free_list(const unsigned short per[]);
> +#endif
>
> -#include <asm/gpio.h>
> +#include <linux/err.h>
> +#include <linux/pinctrl/pinctrl.h>
> #include <mach/portmux.h>
> +#include <linux/gpio.h>
>
> #ifndef P_SPORT2_TFS
> #define P_SPORT2_TFS P_UNDEF
> diff --git a/arch/blackfin/mach-bf548/include/mach/portmux.h b/arch/blackfin/mach-bf548/include/mach/portmux.h
> index e222462..d9f8632 100644
> --- a/arch/blackfin/mach-bf548/include/mach/portmux.h
> +++ b/arch/blackfin/mach-bf548/include/mach/portmux.h
> @@ -7,8 +7,6 @@
> #ifndef _MACH_PORTMUX_H_
> #define _MACH_PORTMUX_H_
>
> -#define MAX_RESOURCES MAX_BLACKFIN_GPIOS
> -
> #define P_SPORT2_TFS (P_DEFINED | P_IDENT(GPIO_PA0) | P_FUNCT(0))
> #define P_SPORT2_DTSEC (P_DEFINED | P_IDENT(GPIO_PA1) | P_FUNCT(0))
> #define P_SPORT2_DTPRI (P_DEFINED | P_IDENT(GPIO_PA2) | P_FUNCT(0))
> diff --git a/arch/blackfin/mach-bf609/include/mach/portmux.h b/arch/blackfin/mach-bf609/include/mach/portmux.h
> index 2e1a51c..fe34191 100644
> --- a/arch/blackfin/mach-bf609/include/mach/portmux.h
> +++ b/arch/blackfin/mach-bf609/include/mach/portmux.h
> @@ -7,8 +7,6 @@
> #ifndef _MACH_PORTMUX_H_
> #define _MACH_PORTMUX_H_
>
> -#define MAX_RESOURCES MAX_BLACKFIN_GPIOS
> -
> /* EMAC RMII Port Mux */
> #define P_MII0_MDC (P_DEFINED | P_IDENT(GPIO_PC6) | P_FUNCT(0))
> #define P_MII0_MDIO (P_DEFINED | P_IDENT(GPIO_PC7) | P_FUNCT(0))
> --
> 1.8.2.3
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/