Re: [PATCH] pinctrl: rockchip: do coding style for mux route struct

2021-04-20 Thread Heiko Stübner
Hi Jay,

Am Dienstag, 20. April 2021, 10:41:34 CEST schrieb jay...@rock-chips.com:
> Do I need to send v2 with change-id abandon ?

do everything to make a Maintainer's life easier :-) .

So I guess yes and of course try to make sure it applies to the
pinctrl devel branch
[ 
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git/log/?h=devel
 ]

and add the necessary versioning information, so that people see
which one is newer.


Heiko


> From: HeikoStübner
> Date: 2021-04-20 15:35
> To: linus.walleij; Jianqun Xu
> CC: huangtao; linux-gpio; linux-rockchip; linux-kernel; Jianqun Xu
> Subject: Re: [PATCH] pinctrl: rockchip: do coding style for mux route struct
> Hi,
>  
> Am Dienstag, 6. April 2021, 04:53:56 CEST schrieb Jianqun Xu:
> > The mux route tables take many lines for each SoC, and it will be more
> > instances for newly SoC, that makes the file size increase larger.
> > 
> > This patch only do coding style for mux route struct, by adding a new
> > definition and replace the structs by script which supplied by
> > huang...@rock-chips.com
> > 
> > sed -i -e "
> > /static struct rockchip_mux_route_data /bcheck
> > b
> > :append-next-line
> > N
> > :check
> > /^[^;]*$/bappend-next-line
> > s/[[:blank:]]*.bank_num = \([[:digit:]]*,\)\n/\tRK_MUXROUTE_SAME(\1/g
> > s/[[:blank:]]*.pin =[[:blank:]]*0,\n/ RK_PA0,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*1,\n/ RK_PA1,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*2,\n/ RK_PA2,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*3,\n/ RK_PA3,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*4,\n/ RK_PA4,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*5,\n/ RK_PA5,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*6,\n/ RK_PA6,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*7,\n/ RK_PA7,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*8,\n/ RK_PB0,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*9,\n/ RK_PB1,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*10,\n/ RK_PB2,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*11,\n/ RK_PB3,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*12,\n/ RK_PB4,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*13,\n/ RK_PB5,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*14,\n/ RK_PB6,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*15,\n/ RK_PB7,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*16,\n/ RK_PC0,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*17,\n/ RK_PC1,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*18,\n/ RK_PC2,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*19,\n/ RK_PC3,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*20,\n/ RK_PC4,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*21,\n/ RK_PC5,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*22,\n/ RK_PC6,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*23,\n/ RK_PC7,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*24,\n/ RK_PD0,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*25,\n/ RK_PD1,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*26,\n/ RK_PD2,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*27,\n/ RK_PD3,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*28,\n/ RK_PD4,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*29,\n/ RK_PD5,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*30,\n/ RK_PD6,/g
> > s/[[:blank:]]*.pin =[[:blank:]]*31,\n/ RK_PD7,/g
> > s/[[:blank:]]*.func = \([[:digit:]]*,\)\n/ \1/g
> > s/[[:blank:]]*.route_location =[[:blank:]]*\([[:print:]]*,\)\n//g
> > s/[[:blank:]]*.route_offset = \(0x[[:xdigit:]]*,\)\n/ \1/g
> > s/[[:blank:]]*.route_val =[[:blank:]]*\([[:print:]]*\),\n/ \1),/g
> > s/\t{\n//g
> > s/\t}, {\n//g
> > s/\t},//g
> > s/[[:blank:]]*\(\/\*[[:print:]]*\*\/\)\n[[:blank:]]*RK_MUXROUTE_SAME(\([[:print:]]*\)),\n/\tRK_MUXROUTE_SAME(\2),
> >  \1\n/g
> > s/[[:blank:]]*\(\/\*[[:print:]]*\*\/\)\n[[:blank:]]*RK_MUXROUTE_SAME(\([[:print:]]*\)),/\tRK_MUXROUTE_SAME(\2),
> >  \1\n/g
> > " drivers/pinctrl/pinctrl-rockchip.c
> > 
> > Signed-off-by: Jianqun Xu 
> > Change-Id: Ifc823d9557605b9dfcc9c0455a739f04f3fce5be
>  
> Change-id should not be in here.
>  
> Somehow I remember giving this a "reviewed-by" before in some
> previous version, but my memory may be faulty, so
>  
> Reviewed-by: Heiko Stuebner 
>  
> and of course I like this change very much ;-)
>  
>  
> Though it may be really helpful to not send these individual patches but
> instead make it part of the series and put it at the beginning.
> Tracking the order patches should get applied when they're sent individually
> can get very hard.
>  
> Heiko
>  
>  
> > ---
> >  drivers/pinctrl/pinctrl-rockchip.c | 669 +
> >  1 file changed, 99 insertions(+), 570 deletions(-)
> > 
> > diff --git a/drivers/pinctrl/pinctrl-rockchip.c 
> > b/drivers/pinctrl/pinctrl-rockchip.c
> > index de

Re: [PATCH] pinctrl: rockchip: do coding style for mux route struct

2021-04-20 Thread Heiko Stübner
Hi,

Am Dienstag, 6. April 2021, 04:53:56 CEST schrieb Jianqun Xu:
> The mux route tables take many lines for each SoC, and it will be more
> instances for newly SoC, that makes the file size increase larger.
> 
> This patch only do coding style for mux route struct, by adding a new
> definition and replace the structs by script which supplied by
> huang...@rock-chips.com
> 
> sed -i -e "
> /static struct rockchip_mux_route_data /bcheck
> b
> :append-next-line
> N
> :check
> /^[^;]*$/bappend-next-line
> s/[[:blank:]]*.bank_num = \([[:digit:]]*,\)\n/\tRK_MUXROUTE_SAME(\1/g
> s/[[:blank:]]*.pin =[[:blank:]]*0,\n/ RK_PA0,/g
> s/[[:blank:]]*.pin =[[:blank:]]*1,\n/ RK_PA1,/g
> s/[[:blank:]]*.pin =[[:blank:]]*2,\n/ RK_PA2,/g
> s/[[:blank:]]*.pin =[[:blank:]]*3,\n/ RK_PA3,/g
> s/[[:blank:]]*.pin =[[:blank:]]*4,\n/ RK_PA4,/g
> s/[[:blank:]]*.pin =[[:blank:]]*5,\n/ RK_PA5,/g
> s/[[:blank:]]*.pin =[[:blank:]]*6,\n/ RK_PA6,/g
> s/[[:blank:]]*.pin =[[:blank:]]*7,\n/ RK_PA7,/g
> s/[[:blank:]]*.pin =[[:blank:]]*8,\n/ RK_PB0,/g
> s/[[:blank:]]*.pin =[[:blank:]]*9,\n/ RK_PB1,/g
> s/[[:blank:]]*.pin =[[:blank:]]*10,\n/ RK_PB2,/g
> s/[[:blank:]]*.pin =[[:blank:]]*11,\n/ RK_PB3,/g
> s/[[:blank:]]*.pin =[[:blank:]]*12,\n/ RK_PB4,/g
> s/[[:blank:]]*.pin =[[:blank:]]*13,\n/ RK_PB5,/g
> s/[[:blank:]]*.pin =[[:blank:]]*14,\n/ RK_PB6,/g
> s/[[:blank:]]*.pin =[[:blank:]]*15,\n/ RK_PB7,/g
> s/[[:blank:]]*.pin =[[:blank:]]*16,\n/ RK_PC0,/g
> s/[[:blank:]]*.pin =[[:blank:]]*17,\n/ RK_PC1,/g
> s/[[:blank:]]*.pin =[[:blank:]]*18,\n/ RK_PC2,/g
> s/[[:blank:]]*.pin =[[:blank:]]*19,\n/ RK_PC3,/g
> s/[[:blank:]]*.pin =[[:blank:]]*20,\n/ RK_PC4,/g
> s/[[:blank:]]*.pin =[[:blank:]]*21,\n/ RK_PC5,/g
> s/[[:blank:]]*.pin =[[:blank:]]*22,\n/ RK_PC6,/g
> s/[[:blank:]]*.pin =[[:blank:]]*23,\n/ RK_PC7,/g
> s/[[:blank:]]*.pin =[[:blank:]]*24,\n/ RK_PD0,/g
> s/[[:blank:]]*.pin =[[:blank:]]*25,\n/ RK_PD1,/g
> s/[[:blank:]]*.pin =[[:blank:]]*26,\n/ RK_PD2,/g
> s/[[:blank:]]*.pin =[[:blank:]]*27,\n/ RK_PD3,/g
> s/[[:blank:]]*.pin =[[:blank:]]*28,\n/ RK_PD4,/g
> s/[[:blank:]]*.pin =[[:blank:]]*29,\n/ RK_PD5,/g
> s/[[:blank:]]*.pin =[[:blank:]]*30,\n/ RK_PD6,/g
> s/[[:blank:]]*.pin =[[:blank:]]*31,\n/ RK_PD7,/g
> s/[[:blank:]]*.func = \([[:digit:]]*,\)\n/ \1/g
> s/[[:blank:]]*.route_location =[[:blank:]]*\([[:print:]]*,\)\n//g
> s/[[:blank:]]*.route_offset = \(0x[[:xdigit:]]*,\)\n/ \1/g
> s/[[:blank:]]*.route_val =[[:blank:]]*\([[:print:]]*\),\n/ \1),/g
> s/\t{\n//g
> s/\t}, {\n//g
> s/\t},//g
> s/[[:blank:]]*\(\/\*[[:print:]]*\*\/\)\n[[:blank:]]*RK_MUXROUTE_SAME(\([[:print:]]*\)),\n/\tRK_MUXROUTE_SAME(\2),
>  \1\n/g
> s/[[:blank:]]*\(\/\*[[:print:]]*\*\/\)\n[[:blank:]]*RK_MUXROUTE_SAME(\([[:print:]]*\)),/\tRK_MUXROUTE_SAME(\2),
>  \1\n/g
> " drivers/pinctrl/pinctrl-rockchip.c
> 
> Signed-off-by: Jianqun Xu 
> Change-Id: Ifc823d9557605b9dfcc9c0455a739f04f3fce5be

Change-id should not be in here.

Somehow I remember giving this a "reviewed-by" before in some
previous version, but my memory may be faulty, so

Reviewed-by: Heiko Stuebner 

and of course I like this change very much ;-)


Though it may be really helpful to not send these individual patches but
instead make it part of the series and put it at the beginning.
Tracking the order patches should get applied when they're sent individually
can get very hard.

Heiko


> ---
>  drivers/pinctrl/pinctrl-rockchip.c | 669 +
>  1 file changed, 99 insertions(+), 570 deletions(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-rockchip.c 
> b/drivers/pinctrl/pinctrl-rockchip.c
> index deabfbc74a01..6ba31c66ef8b 100644
> --- a/drivers/pinctrl/pinctrl-rockchip.c
> +++ b/drivers/pinctrl/pinctrl-rockchip.c
> @@ -292,6 +292,25 @@ struct rockchip_pin_bank {
>   .pull_type[3] = pull3,  \
>   }
>  
> +#define PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, FLAG)  
> \
> + {   \
> + .bank_num   = ID,   \
> + .pin= PIN,  \
> + .func   = FUNC, \
> + .route_offset   = REG,  \
> + .route_val  = VAL,  \
> + .route_location = FLAG, \
> + }
> +
> +#define RK_MUXROUTE_SAME(ID, PIN, FUNC, REG, VAL)\
> + PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, ROCKCHIP_ROUTE_SAME)
> +
> +#define RK_MUXROUTE_GRF(ID, PIN, FUNC, REG, VAL) \
> + PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, ROCKCHIP_ROUTE_GRF)
> +
> +#define RK_MUXROUTE_PMU(ID, PIN, FUNC, REG, VAL) \
> + PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, ROCKCHIP_ROUTE_PMU)
> +
>  /**
>   * struct rockchip_mux_recalced_data: represent a pin iomux data.
>   * @num: bank number.
> @@ -803,597 +822,107 @@ static 

[PATCH] pinctrl: rockchip: do coding style for mux route struct

2021-04-05 Thread Jianqun Xu
The mux route tables take many lines for each SoC, and it will be more
instances for newly SoC, that makes the file size increase larger.

This patch only do coding style for mux route struct, by adding a new
definition and replace the structs by script which supplied by
huang...@rock-chips.com

sed -i -e "
/static struct rockchip_mux_route_data /bcheck
b
:append-next-line
N
:check
/^[^;]*$/bappend-next-line
s/[[:blank:]]*.bank_num = \([[:digit:]]*,\)\n/\tRK_MUXROUTE_SAME(\1/g
s/[[:blank:]]*.pin =[[:blank:]]*0,\n/ RK_PA0,/g
s/[[:blank:]]*.pin =[[:blank:]]*1,\n/ RK_PA1,/g
s/[[:blank:]]*.pin =[[:blank:]]*2,\n/ RK_PA2,/g
s/[[:blank:]]*.pin =[[:blank:]]*3,\n/ RK_PA3,/g
s/[[:blank:]]*.pin =[[:blank:]]*4,\n/ RK_PA4,/g
s/[[:blank:]]*.pin =[[:blank:]]*5,\n/ RK_PA5,/g
s/[[:blank:]]*.pin =[[:blank:]]*6,\n/ RK_PA6,/g
s/[[:blank:]]*.pin =[[:blank:]]*7,\n/ RK_PA7,/g
s/[[:blank:]]*.pin =[[:blank:]]*8,\n/ RK_PB0,/g
s/[[:blank:]]*.pin =[[:blank:]]*9,\n/ RK_PB1,/g
s/[[:blank:]]*.pin =[[:blank:]]*10,\n/ RK_PB2,/g
s/[[:blank:]]*.pin =[[:blank:]]*11,\n/ RK_PB3,/g
s/[[:blank:]]*.pin =[[:blank:]]*12,\n/ RK_PB4,/g
s/[[:blank:]]*.pin =[[:blank:]]*13,\n/ RK_PB5,/g
s/[[:blank:]]*.pin =[[:blank:]]*14,\n/ RK_PB6,/g
s/[[:blank:]]*.pin =[[:blank:]]*15,\n/ RK_PB7,/g
s/[[:blank:]]*.pin =[[:blank:]]*16,\n/ RK_PC0,/g
s/[[:blank:]]*.pin =[[:blank:]]*17,\n/ RK_PC1,/g
s/[[:blank:]]*.pin =[[:blank:]]*18,\n/ RK_PC2,/g
s/[[:blank:]]*.pin =[[:blank:]]*19,\n/ RK_PC3,/g
s/[[:blank:]]*.pin =[[:blank:]]*20,\n/ RK_PC4,/g
s/[[:blank:]]*.pin =[[:blank:]]*21,\n/ RK_PC5,/g
s/[[:blank:]]*.pin =[[:blank:]]*22,\n/ RK_PC6,/g
s/[[:blank:]]*.pin =[[:blank:]]*23,\n/ RK_PC7,/g
s/[[:blank:]]*.pin =[[:blank:]]*24,\n/ RK_PD0,/g
s/[[:blank:]]*.pin =[[:blank:]]*25,\n/ RK_PD1,/g
s/[[:blank:]]*.pin =[[:blank:]]*26,\n/ RK_PD2,/g
s/[[:blank:]]*.pin =[[:blank:]]*27,\n/ RK_PD3,/g
s/[[:blank:]]*.pin =[[:blank:]]*28,\n/ RK_PD4,/g
s/[[:blank:]]*.pin =[[:blank:]]*29,\n/ RK_PD5,/g
s/[[:blank:]]*.pin =[[:blank:]]*30,\n/ RK_PD6,/g
s/[[:blank:]]*.pin =[[:blank:]]*31,\n/ RK_PD7,/g
s/[[:blank:]]*.func = \([[:digit:]]*,\)\n/ \1/g
s/[[:blank:]]*.route_location =[[:blank:]]*\([[:print:]]*,\)\n//g
s/[[:blank:]]*.route_offset = \(0x[[:xdigit:]]*,\)\n/ \1/g
s/[[:blank:]]*.route_val =[[:blank:]]*\([[:print:]]*\),\n/ \1),/g
s/\t{\n//g
s/\t}, {\n//g
s/\t},//g
s/[[:blank:]]*\(\/\*[[:print:]]*\*\/\)\n[[:blank:]]*RK_MUXROUTE_SAME(\([[:print:]]*\)),\n/\tRK_MUXROUTE_SAME(\2),
 \1\n/g
s/[[:blank:]]*\(\/\*[[:print:]]*\*\/\)\n[[:blank:]]*RK_MUXROUTE_SAME(\([[:print:]]*\)),/\tRK_MUXROUTE_SAME(\2),
 \1\n/g
" drivers/pinctrl/pinctrl-rockchip.c

Signed-off-by: Jianqun Xu 
Change-Id: Ifc823d9557605b9dfcc9c0455a739f04f3fce5be
---
 drivers/pinctrl/pinctrl-rockchip.c | 669 +
 1 file changed, 99 insertions(+), 570 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-rockchip.c 
b/drivers/pinctrl/pinctrl-rockchip.c
index deabfbc74a01..6ba31c66ef8b 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -292,6 +292,25 @@ struct rockchip_pin_bank {
.pull_type[3] = pull3,  \
}
 
+#define PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, FLAG)
\
+   {   \
+   .bank_num   = ID,   \
+   .pin= PIN,  \
+   .func   = FUNC, \
+   .route_offset   = REG,  \
+   .route_val  = VAL,  \
+   .route_location = FLAG, \
+   }
+
+#define RK_MUXROUTE_SAME(ID, PIN, FUNC, REG, VAL)  \
+   PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, ROCKCHIP_ROUTE_SAME)
+
+#define RK_MUXROUTE_GRF(ID, PIN, FUNC, REG, VAL)   \
+   PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, ROCKCHIP_ROUTE_GRF)
+
+#define RK_MUXROUTE_PMU(ID, PIN, FUNC, REG, VAL)   \
+   PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, ROCKCHIP_ROUTE_PMU)
+
 /**
  * struct rockchip_mux_recalced_data: represent a pin iomux data.
  * @num: bank number.
@@ -803,597 +822,107 @@ static void rockchip_get_recalced_mux(struct 
rockchip_pin_bank *bank, int pin,
 }
 
 static struct rockchip_mux_route_data px30_mux_route_data[] = {
-   {
-   /* cif-d2m0 */
-   .bank_num = 2,
-   .pin = 0,
-   .func = 1,
-   .route_offset = 0x184,
-   .route_val = BIT(16 + 7),
-   }, {
-   /* cif-d2m1 */
-   .bank_num = 3,
-   .pin = 3,
-   .func = 3,
-   .route_offset = 0x184,
-   .route_val = BIT(16 + 7) | BIT(7),
-   }, {
-   /* pdm-m0 */
-   .bank_num = 3,
-   .pin = 22,
-   .func = 2,
-