Re: [PATCH] pinctrl: rockchip: do coding style for mux route struct
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
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
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, -