Hi Morimoto-san, On Fri, Jun 3, 2022 at 7:04 AM Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> wrote: > These are for V4H (r8a779g0) pinctrl patches. > > I have separate new macro definition from original patch [1/3]. > I have cleanuped original initial patch, and merged its fixup patch [2/3]. > I have merged original many device settings patches into one [3/3]. > > [1/3] pinctrl: renesas: Add PORT_GP_CFG_13 macros > [2/3] pinctrl: renesas: Initial R8A779G0 (V4H) PFC support > [3/3] pinctrl: renesas: r8a779g0: Add pins, groups and functions Thanks for your series! Here's a first set of quick comments. More will follow later. Note that this does not apply cleanly against renesas-pinctrl, as drivers/pinctrl/renesas/Kconfig has received some changes in the meantime. Please fix the following issues reported by scripts/checkpatch.pl: - code indent should use tabs where possible, - please, no spaces at the start of a line, - please, no space before tabs. Please enable CONFIG_DEBUG_PINCTRL=y to run the sh-pfc checker (this works even when running on another Renesas platform than R-Car V4H; all included drivers will be checked), and fix the issues reported: r8a779g0_pfc: pin GP_1_23: SH_PFC_PIN_CFG_IO_VOLTAGE set but invalid pin_to_pocctrl() r8a779g0_pfc: pin GP_1_24: SH_PFC_PIN_CFG_IO_VOLTAGE set but invalid pin_to_pocctrl() r8a779g0_pfc: pin GP_1_25: SH_PFC_PIN_CFG_IO_VOLTAGE set but invalid pin_to_pocctrl() r8a779g0_pfc: pin GP_1_26: SH_PFC_PIN_CFG_IO_VOLTAGE set but invalid pin_to_pocctrl() r8a779g0_pfc: pin GP_1_27: SH_PFC_PIN_CFG_IO_VOLTAGE set but invalid pin_to_pocctrl() r8a779g0_pfc: pin GP_1_28: SH_PFC_PIN_CFG_IO_VOLTAGE set but invalid pin_to_pocctrl() r8a779g0_pfc: pin GP_3_19: SH_PFC_PIN_CFG_DRIVE_STRENGTH flag set but not in drive_regs r8a779g0_pfc: pin GP_4_0: SH_PFC_PIN_CFG_IO_VOLTAGE not set but valid pin_to_pocctrl() r8a779g0_pfc: pin GP_5_0: SH_PFC_PIN_CFG_IO_VOLTAGE not set but valid pin_to_pocctrl() r8a779g0_pfc: pin GP_5_20: SH_PFC_PIN_CFG_PULL_UP flag set but pin not in bias_regs r8a779g0_pfc: pin GP_5_20: SH_PFC_PIN_CFG_PULL_DOWN flag set but pin not in bias_regs r8a779g0_pfc: pin GP_6_0: SH_PFC_PIN_CFG_IO_VOLTAGE not set but valid pin_to_pocctrl() r8a779g0_pfc: pin GP_7_0: SH_PFC_PIN_CFG_IO_VOLTAGE not set but valid pin_to_pocctrl() r8a779g0_pfc: drive_reg 0xe6058888:5/0xe6058888:4: pin conflict r8a779g0_pfc: bias_reg 0xe60608c0:20/0xe60608c0:19: pin conflict r8a779g0_pfc: bias_reg 0xe60608e0:20/0xe60608e0:19: pin conflict It is also a good idea to follow the suggestions about pin group subsets and reserved fields, as that will reduce table sizes: r8a779g0_pfc: group mmc_data1 is a subset of mmc_data4 r8a779g0_pfc: group mmc_data1 is a subset of mmc_data8 r8a779g0_pfc: group mmc_data4 is a subset of mmc_data8 r8a779g0_pfc: group qspi0_data2 is a subset of qspi0_data4 r8a779g0_pfc: group qspi1_data2 is a subset of qspi1_data4 r8a779g0_pfc: reg 0xe6050040 can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe6058040 can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe6060840 can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe6061040 can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe6061840 can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe6068040 can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe6050068 can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe605086c can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe6058068 can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe605886c can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe6061068 can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe6061868 can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe6068064 can be described with variable-width reserved fields r8a779g0_pfc: reg 0xe6060100: field [0:3] can be described as reserved r8a779g0_pfc: reg 0xe6060100: field [4:7] can be described as reserved r8a779g0_pfc: reg 0xe6060100: field [8:11] can be described as reserved r8a779g0_pfc: reg 0xe6060100: field [14:15] can be described as reserved r8a779g0_pfc: reg 0xe6060100: field [18:18] can be described as reserved r8a779g0_pfc: reg 0xe6060100: field [20:21] can be described as reserved r8a779g0_pfc: reg 0xe6060100: field [24:25] can be described as reserved r8a779g0_pfc: reg 0xe6060100: field [27:28] can be described as reserved r8a779g0_pfc: reg 0xe6060100: field [31:31] can be described as reserved r8a779g0_pfc: reg 0xe6060900: field [0:3] can be described as reserved r8a779g0_pfc: reg 0xe6060900: field [4:7] can be described as reserved r8a779g0_pfc: reg 0xe6060900: field [8:11] can be described as reserved r8a779g0_pfc: reg 0xe6060900: field [13:14] can be described as reserved r8a779g0_pfc: reg 0xe6060900: field [17:18] can be described as reserved r8a779g0_pfc: reg 0xe6060900: field [21:22] can be described as reserved r8a779g0_pfc: reg 0xe6060900: field [24:24] can be described as reserved r8a779g0_pfc: reg 0xe6060900: field [27:28] can be described as reserved r8a779g0_pfc: reg 0xe6060900: field [30:30] can be described as reserved r8a779g0_pfc: reg 0xe6061100: field [0:3] can be described as reserved r8a779g0_pfc: reg 0xe6061100: field [4:7] can be described as reserved r8a779g0_pfc: reg 0xe6061100: field [8:11] can be described as reserved r8a779g0_pfc: reg 0xe6061100: field [12:12] can be described as reserved r8a779g0_pfc: reg 0xe6061100: field [14:14] can be described as reserved r8a779g0_pfc: reg 0xe6061100: field [16:17] can be described as reserved r8a779g0_pfc: reg 0xe6061100: field [20:20] can be described as reserved r8a779g0_pfc: reg 0xe6061100: field [22:23] can be described as reserved r8a779g0_pfc: reg 0xe6061100: field [27:28] can be described as reserved r8a779g0_pfc: reg 0xe6061100: field [31:31] can be described as reserved r8a779g0_pfc: reg 0xe6061900: field [0:3] can be described as reserved r8a779g0_pfc: reg 0xe6061900: field [4:7] can be described as reserved r8a779g0_pfc: reg 0xe6061900: field [8:11] can be described as reserved r8a779g0_pfc: reg 0xe6061900: field [12:13] can be described as reserved r8a779g0_pfc: reg 0xe6061900: field [14:14] can be described as reserved r8a779g0_pfc: reg 0xe6061900: field [17:17] can be described as reserved r8a779g0_pfc: reg 0xe6061900: field [19:19] can be described as reserved r8a779g0_pfc: reg 0xe6061900: field [22:23] can be described as reserved r8a779g0_pfc: reg 0xe6061900: field [26:27] can be described as reserved r8a779g0_pfc: reg 0xe6061900: field [30:30] can be described as reserved r8a779g0_pfc: reg 0xe6068100: field [0:3] can be described as reserved r8a779g0_pfc: reg 0xe6068100: field [4:7] can be described as reserved r8a779g0_pfc: reg 0xe6068100: field [8:11] can be described as reserved r8a779g0_pfc: reg 0xe6068100: field [12:15] can be described as reserved r8a779g0_pfc: reg 0xe6068100: field [16:19] can be described as reserved Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds