From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Anderson Date: Wed, 4 Mar 2020 10:00:20 -0500 Subject: [PATCH v5 13/33] pinctrl: Add support for Kendryte K210 FPIOA In-Reply-To: References: <20200228210552.615672-1-seanga2@gmail.com> <20200228210552.615672-14-seanga2@gmail.com> Message-ID: <76ccc2f3-88b2-88ce-3228-e4e8d3ada231@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 >> --- >> >> 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