| From b457ae8c115a7bd5c8fbe9bc741dd8ac95c20502 Mon Sep 17 00:00:00 2001 |
| From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Date: Mon, 15 Jul 2013 17:42:48 +0200 |
| Subject: sh-pfc: Consolidate pin definition macros |
| |
| Move the pin definition macros to a common header file. |
| |
| Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Tested-by: Yusuke Goda <yusuke.goda.sx@renesas.com> |
| (cherry picked from commit df020272abd6e30673f397fea31e5e133a87c0fe) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/pinctrl/sh-pfc/pfc-r8a73a4.c | 11 ++--------- |
| drivers/pinctrl/sh-pfc/pfc-r8a7740.c | 25 +++++++++---------------- |
| drivers/pinctrl/sh-pfc/pfc-sh7372.c | 25 +++++++++---------------- |
| drivers/pinctrl/sh-pfc/pfc-sh73a0.c | 23 ++++++++--------------- |
| drivers/pinctrl/sh-pfc/sh_pfc.h | 8 ++++++++ |
| 5 files changed, 36 insertions(+), 56 deletions(-) |
| |
| diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c b/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c |
| index d8115331..288821b6 100644 |
| --- a/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c |
| +++ b/drivers/pinctrl/sh-pfc/pfc-r8a73a4.c |
| @@ -1266,19 +1266,12 @@ static const u16 pinmux_data[] = { |
| PINMUX_DATA(IRQ57_MARK, PORT329_FN0), |
| }; |
| |
| -#define R8A73A4_PIN(pin, cfgs) \ |
| - { \ |
| - .name = __stringify(PORT##pin), \ |
| - .enum_id = PORT##pin##_DATA, \ |
| - .configs = cfgs, \ |
| - } |
| - |
| #define __O (SH_PFC_PIN_CFG_OUTPUT) |
| #define __IO (SH_PFC_PIN_CFG_INPUT | SH_PFC_PIN_CFG_OUTPUT) |
| #define __PUD (SH_PFC_PIN_CFG_PULL_DOWN | SH_PFC_PIN_CFG_PULL_UP) |
| |
| -#define R8A73A4_PIN_IO_PU_PD(pin) R8A73A4_PIN(pin, __IO | __PUD) |
| -#define R8A73A4_PIN_O(pin) R8A73A4_PIN(pin, __O) |
| +#define R8A73A4_PIN_IO_PU_PD(pin) SH_PFC_PIN_CFG(pin, __IO | __PUD) |
| +#define R8A73A4_PIN_O(pin) SH_PFC_PIN_CFG(pin, __O) |
| |
| static struct sh_pfc_pin pinmux_pins[] = { |
| R8A73A4_PIN_IO_PU_PD(0), R8A73A4_PIN_IO_PU_PD(1), |
| diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7740.c b/drivers/pinctrl/sh-pfc/pfc-r8a7740.c |
| index e6900511..b5bc1d09 100644 |
| --- a/drivers/pinctrl/sh-pfc/pfc-r8a7740.c |
| +++ b/drivers/pinctrl/sh-pfc/pfc-r8a7740.c |
| @@ -1527,13 +1527,6 @@ static const u16 pinmux_data[] = { |
| PINMUX_DATA(TRACEAUD_FROM_MEMC_MARK, MSEL5CR_30_1, MSEL5CR_29_0), |
| }; |
| |
| -#define R8A7740_PIN(pin, cfgs) \ |
| - { \ |
| - .name = __stringify(PORT##pin), \ |
| - .enum_id = PORT##pin##_DATA, \ |
| - .configs = cfgs, \ |
| - } |
| - |
| #define __I (SH_PFC_PIN_CFG_INPUT) |
| #define __O (SH_PFC_PIN_CFG_OUTPUT) |
| #define __IO (SH_PFC_PIN_CFG_INPUT | SH_PFC_PIN_CFG_OUTPUT) |
| @@ -1541,15 +1534,15 @@ static const u16 pinmux_data[] = { |
| #define __PU (SH_PFC_PIN_CFG_PULL_UP) |
| #define __PUD (SH_PFC_PIN_CFG_PULL_DOWN | SH_PFC_PIN_CFG_PULL_UP) |
| |
| -#define R8A7740_PIN_I_PD(pin) R8A7740_PIN(pin, __I | __PD) |
| -#define R8A7740_PIN_I_PU(pin) R8A7740_PIN(pin, __I | __PU) |
| -#define R8A7740_PIN_I_PU_PD(pin) R8A7740_PIN(pin, __I | __PUD) |
| -#define R8A7740_PIN_IO(pin) R8A7740_PIN(pin, __IO) |
| -#define R8A7740_PIN_IO_PD(pin) R8A7740_PIN(pin, __IO | __PD) |
| -#define R8A7740_PIN_IO_PU(pin) R8A7740_PIN(pin, __IO | __PU) |
| -#define R8A7740_PIN_IO_PU_PD(pin) R8A7740_PIN(pin, __IO | __PUD) |
| -#define R8A7740_PIN_O(pin) R8A7740_PIN(pin, __O) |
| -#define R8A7740_PIN_O_PU_PD(pin) R8A7740_PIN(pin, __O | __PUD) |
| +#define R8A7740_PIN_I_PD(pin) SH_PFC_PIN_CFG(pin, __I | __PD) |
| +#define R8A7740_PIN_I_PU(pin) SH_PFC_PIN_CFG(pin, __I | __PU) |
| +#define R8A7740_PIN_I_PU_PD(pin) SH_PFC_PIN_CFG(pin, __I | __PUD) |
| +#define R8A7740_PIN_IO(pin) SH_PFC_PIN_CFG(pin, __IO) |
| +#define R8A7740_PIN_IO_PD(pin) SH_PFC_PIN_CFG(pin, __IO | __PD) |
| +#define R8A7740_PIN_IO_PU(pin) SH_PFC_PIN_CFG(pin, __IO | __PU) |
| +#define R8A7740_PIN_IO_PU_PD(pin) SH_PFC_PIN_CFG(pin, __IO | __PUD) |
| +#define R8A7740_PIN_O(pin) SH_PFC_PIN_CFG(pin, __O) |
| +#define R8A7740_PIN_O_PU_PD(pin) SH_PFC_PIN_CFG(pin, __O | __PUD) |
| |
| static struct sh_pfc_pin pinmux_pins[] = { |
| /* Table 56-1 (I/O and Pull U/D) */ |
| diff --git a/drivers/pinctrl/sh-pfc/pfc-sh7372.c b/drivers/pinctrl/sh-pfc/pfc-sh7372.c |
| index 9174ff26..17f1c179 100644 |
| --- a/drivers/pinctrl/sh-pfc/pfc-sh7372.c |
| +++ b/drivers/pinctrl/sh-pfc/pfc-sh7372.c |
| @@ -829,13 +829,6 @@ static const u16 pinmux_data[] = { |
| PINMUX_DATA(MFIv4_MARK, MSEL4CR_6_1), |
| }; |
| |
| -#define SH7372_PIN(pin, cfgs) \ |
| - { \ |
| - .name = __stringify(PORT##pin), \ |
| - .enum_id = PORT##pin##_DATA, \ |
| - .configs = cfgs, \ |
| - } |
| - |
| #define __I (SH_PFC_PIN_CFG_INPUT) |
| #define __O (SH_PFC_PIN_CFG_OUTPUT) |
| #define __IO (SH_PFC_PIN_CFG_INPUT | SH_PFC_PIN_CFG_OUTPUT) |
| @@ -843,15 +836,15 @@ static const u16 pinmux_data[] = { |
| #define __PU (SH_PFC_PIN_CFG_PULL_UP) |
| #define __PUD (SH_PFC_PIN_CFG_PULL_DOWN | SH_PFC_PIN_CFG_PULL_UP) |
| |
| -#define SH7372_PIN_I_PD(pin) SH7372_PIN(pin, __I | __PD) |
| -#define SH7372_PIN_I_PU(pin) SH7372_PIN(pin, __I | __PU) |
| -#define SH7372_PIN_I_PU_PD(pin) SH7372_PIN(pin, __I | __PUD) |
| -#define SH7372_PIN_IO(pin) SH7372_PIN(pin, __IO) |
| -#define SH7372_PIN_IO_PD(pin) SH7372_PIN(pin, __IO | __PD) |
| -#define SH7372_PIN_IO_PU(pin) SH7372_PIN(pin, __IO | __PU) |
| -#define SH7372_PIN_IO_PU_PD(pin) SH7372_PIN(pin, __IO | __PUD) |
| -#define SH7372_PIN_O(pin) SH7372_PIN(pin, __O) |
| -#define SH7372_PIN_O_PU_PD(pin) SH7372_PIN(pin, __O | __PUD) |
| +#define SH7372_PIN_I_PD(pin) SH_PFC_PIN_CFG(pin, __I | __PD) |
| +#define SH7372_PIN_I_PU(pin) SH_PFC_PIN_CFG(pin, __I | __PU) |
| +#define SH7372_PIN_I_PU_PD(pin) SH_PFC_PIN_CFG(pin, __I | __PUD) |
| +#define SH7372_PIN_IO(pin) SH_PFC_PIN_CFG(pin, __IO) |
| +#define SH7372_PIN_IO_PD(pin) SH_PFC_PIN_CFG(pin, __IO | __PD) |
| +#define SH7372_PIN_IO_PU(pin) SH_PFC_PIN_CFG(pin, __IO | __PU) |
| +#define SH7372_PIN_IO_PU_PD(pin) SH_PFC_PIN_CFG(pin, __IO | __PUD) |
| +#define SH7372_PIN_O(pin) SH_PFC_PIN_CFG(pin, __O) |
| +#define SH7372_PIN_O_PU_PD(pin) SH_PFC_PIN_CFG(pin, __O | __PUD) |
| |
| static struct sh_pfc_pin pinmux_pins[] = { |
| /* Table 57-1 (I/O and Pull U/D) */ |
| diff --git a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c |
| index b275e507..21d2726c 100644 |
| --- a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c |
| +++ b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c |
| @@ -1157,13 +1157,6 @@ static const u16 pinmux_data[] = { |
| PINMUX_DATA(EDBGREQ_PU_MARK, MSEL4CR_MSEL1_1), |
| }; |
| |
| -#define SH73A0_PIN(pin, cfgs) \ |
| - { \ |
| - .name = __stringify(PORT##pin), \ |
| - .enum_id = PORT##pin##_DATA, \ |
| - .configs = cfgs, \ |
| - } |
| - |
| #define __I (SH_PFC_PIN_CFG_INPUT) |
| #define __O (SH_PFC_PIN_CFG_OUTPUT) |
| #define __IO (SH_PFC_PIN_CFG_INPUT | SH_PFC_PIN_CFG_OUTPUT) |
| @@ -1171,14 +1164,14 @@ static const u16 pinmux_data[] = { |
| #define __PU (SH_PFC_PIN_CFG_PULL_UP) |
| #define __PUD (SH_PFC_PIN_CFG_PULL_DOWN | SH_PFC_PIN_CFG_PULL_UP) |
| |
| -#define SH73A0_PIN_I_PD(pin) SH73A0_PIN(pin, __I | __PD) |
| -#define SH73A0_PIN_I_PU(pin) SH73A0_PIN(pin, __I | __PU) |
| -#define SH73A0_PIN_I_PU_PD(pin) SH73A0_PIN(pin, __I | __PUD) |
| -#define SH73A0_PIN_IO(pin) SH73A0_PIN(pin, __IO) |
| -#define SH73A0_PIN_IO_PD(pin) SH73A0_PIN(pin, __IO | __PD) |
| -#define SH73A0_PIN_IO_PU(pin) SH73A0_PIN(pin, __IO | __PU) |
| -#define SH73A0_PIN_IO_PU_PD(pin) SH73A0_PIN(pin, __IO | __PUD) |
| -#define SH73A0_PIN_O(pin) SH73A0_PIN(pin, __O) |
| +#define SH73A0_PIN_I_PD(pin) SH_PFC_PIN_CFG(pin, __I | __PD) |
| +#define SH73A0_PIN_I_PU(pin) SH_PFC_PIN_CFG(pin, __I | __PU) |
| +#define SH73A0_PIN_I_PU_PD(pin) SH_PFC_PIN_CFG(pin, __I | __PUD) |
| +#define SH73A0_PIN_IO(pin) SH_PFC_PIN_CFG(pin, __IO) |
| +#define SH73A0_PIN_IO_PD(pin) SH_PFC_PIN_CFG(pin, __IO | __PD) |
| +#define SH73A0_PIN_IO_PU(pin) SH_PFC_PIN_CFG(pin, __IO | __PU) |
| +#define SH73A0_PIN_IO_PU_PD(pin) SH_PFC_PIN_CFG(pin, __IO | __PUD) |
| +#define SH73A0_PIN_O(pin) SH_PFC_PIN_CFG(pin, __O) |
| |
| static struct sh_pfc_pin pinmux_pins[] = { |
| /* Table 25-1 (I/O and Pull U/D) */ |
| diff --git a/drivers/pinctrl/sh-pfc/sh_pfc.h b/drivers/pinctrl/sh-pfc/sh_pfc.h |
| index ebddfe03..f7c5b808 100644 |
| --- a/drivers/pinctrl/sh-pfc/sh_pfc.h |
| +++ b/drivers/pinctrl/sh-pfc/sh_pfc.h |
| @@ -273,6 +273,14 @@ struct sh_pfc_soc_info { |
| .enum_id = data_or_mark, \ |
| } |
| |
| +/* SH_PFC_PIN_CFG - Expand to a sh_pfc_pin entry (named PORT#) with config */ |
| +#define SH_PFC_PIN_CFG(pin, cfgs) \ |
| + { \ |
| + .name = __stringify(PORT##pin), \ |
| + .enum_id = PORT##pin##_DATA, \ |
| + .configs = cfgs, \ |
| + } |
| + |
| /* PINMUX_DATA_ALL - Expand to a list of PORT_name_DATA, PORT_name_FN0, |
| * PORT_name_OUT, PORT_name_IN marks |
| */ |
| -- |
| 1.8.4.3.gca3854a |
| |