On 3/4/20 1:47 AM, Rick Chen wrote: > Hi Sean > >> The Fully-Programmable Input/Output Array (FPIOA) device controls pin >> multiplexing on the K210. The FPIOA can remap any supported function to any >> multifunctional IO pin. It can also perform basic GPIO functions, such as >> reading the current value of a pin. >> >> Signed-off-by: Sean Anderson <sean...@gmail.com> >> --- >> >> Changes in v5: >> - New >> >> MAINTAINERS | 2 + >> .../pinctrl/kendryte,k210-fpioa.txt | 116 +++ >> drivers/pinctrl/Kconfig | 1 + >> drivers/pinctrl/Makefile | 1 + >> drivers/pinctrl/kendryte/Kconfig | 7 + >> drivers/pinctrl/kendryte/Makefile | 1 + >> drivers/pinctrl/kendryte/pinctrl.c | 663 ++++++++++++++++++ >> drivers/pinctrl/kendryte/pinctrl.h | 325 +++++++++ >> include/dt-bindings/pinctrl/k210-pinctrl.h | 12 + >> 9 files changed, 1128 insertions(+) >> create mode 100644 doc/device-tree-bindings/pinctrl/kendryte,k210-fpioa.txt >> create mode 100644 drivers/pinctrl/kendryte/Kconfig >> create mode 100644 drivers/pinctrl/kendryte/Makefile >> create mode 100644 drivers/pinctrl/kendryte/pinctrl.c >> create mode 100644 drivers/pinctrl/kendryte/pinctrl.h >> create mode 100644 include/dt-bindings/pinctrl/k210-pinctrl.h >> > > Please checkpatch and fix > > total: 3 errors, 13 warnings, 5 checks, 1147 lines checked > > Thanks > Rick
Here is the output of checkpatch. drivers/pinctrl/kendryte/pinctrl.c:25: error: space prohibited before open square bracket '[' This is from using macros in the style #define FOO(x) [FOO_##x] = {\ ... } I think this is more elegant than putting the [] on a separate line, but it can of course be changed. drivers/pinctrl/kendryte/pinctrl.c:76: check: Please use a blank line after function/struct/union/enum declarations This is from using "local" macros, e.g. #define FOO(x) FOO_##x enum foo { FOO(bar), FOO(baz) }; #undef FOO I think keeping the undefinition of FOO close to where it is last used aids readability. This can of course be changed (perhaps by moving the (un)definition inside the enum). drivers/pinctrl/kendryte/pinctrl.c:83: warning: Prefer 'unsigned int' to bare use of 'unsigned' drivers/pinctrl/kendryte/pinctrl.c:106: warning: Prefer 'unsigned int' to bare use of 'unsigned' All these warnings are due to following the function definitions as defined in pinctrl_ops. drivers/pinctrl/kendryte/pinctrl.c:122: error: space prohibited before open square bracket '[' drivers/pinctrl/kendryte/pinctrl.c:133: check: Please use a blank line after function/struct/union/enum declarations drivers/pinctrl/kendryte/pinctrl.c:141: error: space prohibited before open square bracket '[' drivers/pinctrl/kendryte/pinctrl.c:145: check: Please use a blank line after function/struct/union/enum declarations drivers/pinctrl/kendryte/pinctrl.c:403: check: Please use a blank line after function/struct/union/enum declarations drivers/pinctrl/kendryte/pinctrl.c:411: warning: Prefer 'unsigned int' to bare use of 'unsigned' drivers/pinctrl/kendryte/pinctrl.c:416: warning: Prefer 'unsigned int' to bare use of 'unsigned' drivers/pinctrl/kendryte/pinctrl.c:417: warning: Prefer 'unsigned int' to bare use of 'unsigned' drivers/pinctrl/kendryte/pinctrl.c:442: warning: Prefer 'unsigned int' to bare use of 'unsigned' drivers/pinctrl/kendryte/pinctrl.c:453: warning: Prefer 'unsigned int' to bare use of 'unsigned' drivers/pinctrl/kendryte/pinctrl.c:454: warning: Prefer 'unsigned int' to bare use of 'unsigned' drivers/pinctrl/kendryte/pinctrl.c:454: warning: Prefer 'unsigned int' to bare use of 'unsigned' drivers/pinctrl/kendryte/pinctrl.c:529: warning: Prefer 'unsigned int' to bare use of 'unsigned' drivers/pinctrl/kendryte/pinctrl.c:529: warning: Prefer 'unsigned int' to bare use of 'unsigned' drivers/pinctrl/kendryte/pinctrl.c:530: warning: Prefer 'unsigned int' to bare use of 'unsigned' drivers/pinctrl/kendryte/pinctrl.c:612: warning: ENOSYS means 'invalid syscall nr' and nothing else drivers/pinctrl/kendryte/pinctrl.h:281: check: Prefer using the BIT macro This is from the line #define K210_PC_DRIVE_1 (1 << K210_PC_DRIVE_SHIFT) Where there are several succeeding and preceding lines which have different values instead of 1. --Sean