* ld.lld: error: undefined symbol: kb_cs @ 2020-05-14 0:13 kbuild test robot 2020-05-14 3:01 ` Nathan Chancellor 0 siblings, 1 reply; 8+ messages in thread From: kbuild test robot @ 2020-05-14 0:13 UTC (permalink / raw) To: Nathan Chancellor Cc: kbuild-all, clang-built-linux, linux-kernel, Michael Ellerman [-- Attachment #1: Type: text/plain, Size: 2152 bytes --] tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 24085f70a6e1b0cb647ec92623284641d8270637 commit: 5990cdee689c6885b27c6d969a3d58b09002b0bc lib/mpi: Fix building for powerpc with clang date: 3 weeks ago config: powerpc-randconfig-r034-20200514 (attached as .config) compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 310d32cb80a611e6384a921e85607fea05841f26) reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install powerpc cross compiling tool for clang build # apt-get install binutils-powerpc-linux-gnu git checkout 5990cdee689c6885b27c6d969a3d58b09002b0bc # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> ld.lld: error: undefined symbol: kb_cs >>> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >>> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >>> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >>> referenced 45 more times -- >> ld.lld: error: undefined symbol: kb_data >>> referenced by i8042.c:309 (drivers/input/serio/i8042.c:309) >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >>> referenced by i8042-ppcio.h:33 (drivers/input/serio/i8042-ppcio.h:33) >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >>> referenced by i8042.c:319 (drivers/input/serio/i8042.c:319) >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >>> referenced 15 more times --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 28365 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: ld.lld: error: undefined symbol: kb_cs 2020-05-14 0:13 ld.lld: error: undefined symbol: kb_cs kbuild test robot @ 2020-05-14 3:01 ` Nathan Chancellor 2020-05-18 13:20 ` Remove WALNUT hacks in serio/i8042 (was Re: ld.lld: error: undefined symbol: kb_cs) Michael Ellerman 0 siblings, 1 reply; 8+ messages in thread From: Nathan Chancellor @ 2020-05-14 3:01 UTC (permalink / raw) To: kbuild test robot Cc: kbuild-all, clang-built-linux, linux-kernel, Michael Ellerman On Thu, May 14, 2020 at 08:13:48AM +0800, kbuild test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > head: 24085f70a6e1b0cb647ec92623284641d8270637 > commit: 5990cdee689c6885b27c6d969a3d58b09002b0bc lib/mpi: Fix building for powerpc with clang I am certain that this patch did nothing to cause this... Maybe exposed it but not the root cause. > date: 3 weeks ago > config: powerpc-randconfig-r034-20200514 (attached as .config) > compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 310d32cb80a611e6384a921e85607fea05841f26) > reproduce: > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # install powerpc cross compiling tool for clang build > # apt-get install binutils-powerpc-linux-gnu > git checkout 5990cdee689c6885b27c6d969a3d58b09002b0bc > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kbuild test robot <lkp@intel.com> > > All errors (new ones prefixed by >>): > > >> ld.lld: error: undefined symbol: kb_cs > >>> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > >>> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > >>> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > >>> referenced 45 more times > -- > >> ld.lld: error: undefined symbol: kb_data > >>> referenced by i8042.c:309 (drivers/input/serio/i8042.c:309) > >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > >>> referenced by i8042-ppcio.h:33 (drivers/input/serio/i8042-ppcio.h:33) > >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > >>> referenced by i8042.c:319 (drivers/input/serio/i8042.c:319) > >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > >>> referenced 15 more times kb_cs and kb_data are declared as extern void pointers when CONFIG_WALNUT is set, which this config does. However, it looks like the definitions of these variables were removed in commit 917f0af9e5a9 ("powerpc: Remove arch/ppc and include/asm-ppc"), way back in 2.6.27-rc1... So presumably, this has been broken for 12 years and nobody noticed? Probably means there is a good amount of dead code that can be removed, or we could just avoid ever selecting this driver with CONFIG_WALNUT (if it does not actually work without the special handling from i8042-ppcio.h) while removing the dead code. Cheers, Nathan diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 924c541a9260..59b2f655e39e 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -138,7 +138,7 @@ config PPC select ARCH_HAVE_NMI_SAFE_CMPXCHG select ARCH_KEEP_MEMBLOCK select ARCH_MIGHT_HAVE_PC_PARPORT - select ARCH_MIGHT_HAVE_PC_SERIO + select ARCH_MIGHT_HAVE_PC_SERIO if !WALNUT select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX select ARCH_SUPPORTS_ATOMIC_RMW select ARCH_USE_BUILTIN_BSWAP diff --git a/drivers/input/serio/i8042-ppcio.h b/drivers/input/serio/i8042-ppcio.h deleted file mode 100644 index 391f94d9e47d..000000000000 --- a/drivers/input/serio/i8042-ppcio.h +++ /dev/null @@ -1,57 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ -#ifndef _I8042_PPCIO_H -#define _I8042_PPCIO_H - - -#if defined(CONFIG_WALNUT) - -#define I8042_KBD_IRQ 25 -#define I8042_AUX_IRQ 26 - -#define I8042_KBD_PHYS_DESC "walnutps2/serio0" -#define I8042_AUX_PHYS_DESC "walnutps2/serio1" -#define I8042_MUX_PHYS_DESC "walnutps2/serio%d" - -extern void *kb_cs; -extern void *kb_data; - -#define I8042_COMMAND_REG (*(int *)kb_cs) -#define I8042_DATA_REG (*(int *)kb_data) - -static inline int i8042_read_data(void) -{ - return readb(kb_data); -} - -static inline int i8042_read_status(void) -{ - return readb(kb_cs); -} - -static inline void i8042_write_data(int val) -{ - writeb(val, kb_data); -} - -static inline void i8042_write_command(int val) -{ - writeb(val, kb_cs); -} - -static inline int i8042_platform_init(void) -{ - i8042_reset = I8042_RESET_ALWAYS; - return 0; -} - -static inline void i8042_platform_exit(void) -{ -} - -#else - -#include "i8042-io.h" - -#endif - -#endif /* _I8042_PPCIO_H */ diff --git a/drivers/input/serio/i8042.h b/drivers/input/serio/i8042.h index 38dc27ad3c18..eb376700dfff 100644 --- a/drivers/input/serio/i8042.h +++ b/drivers/input/serio/i8042.h @@ -17,8 +17,6 @@ #include "i8042-ip22io.h" #elif defined(CONFIG_SNI_RM) #include "i8042-snirm.h" -#elif defined(CONFIG_PPC) -#include "i8042-ppcio.h" #elif defined(CONFIG_SPARC) #include "i8042-sparcio.h" #elif defined(CONFIG_X86) || defined(CONFIG_IA64) ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Remove WALNUT hacks in serio/i8042 (was Re: ld.lld: error: undefined symbol: kb_cs) 2020-05-14 3:01 ` Nathan Chancellor @ 2020-05-18 13:20 ` Michael Ellerman 2020-05-18 18:10 ` [PATCH] input: i8042: Remove special PowerPC handling Nathan Chancellor 0 siblings, 1 reply; 8+ messages in thread From: Michael Ellerman @ 2020-05-18 13:20 UTC (permalink / raw) To: Nathan Chancellor, kbuild test robot Cc: kbuild-all, clang-built-linux, linux-kernel, linuxppc-dev [ Cc += linuxppc-dev ] Nathan Chancellor <natechancellor@gmail.com> writes: > On Thu, May 14, 2020 at 08:13:48AM +0800, kbuild test robot wrote: >> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master >> head: 24085f70a6e1b0cb647ec92623284641d8270637 >> commit: 5990cdee689c6885b27c6d969a3d58b09002b0bc lib/mpi: Fix building for powerpc with clang > > I am certain that this patch did nothing to cause this... Maybe exposed > it but not the root cause. > >> date: 3 weeks ago >> config: powerpc-randconfig-r034-20200514 (attached as .config) >> compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 310d32cb80a611e6384a921e85607fea05841f26) >> reproduce: >> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross >> chmod +x ~/bin/make.cross >> # install powerpc cross compiling tool for clang build >> # apt-get install binutils-powerpc-linux-gnu >> git checkout 5990cdee689c6885b27c6d969a3d58b09002b0bc >> # save the attached .config to linux build tree >> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc >> >> If you fix the issue, kindly add following tag as appropriate >> Reported-by: kbuild test robot <lkp@intel.com> >> >> All errors (new ones prefixed by >>): >> >> >> ld.lld: error: undefined symbol: kb_cs >> >>> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >> >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> >>> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >> >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> >>> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >> >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> >>> referenced 45 more times >> -- >> >> ld.lld: error: undefined symbol: kb_data >> >>> referenced by i8042.c:309 (drivers/input/serio/i8042.c:309) >> >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> >>> referenced by i8042-ppcio.h:33 (drivers/input/serio/i8042-ppcio.h:33) >> >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> >>> referenced by i8042.c:319 (drivers/input/serio/i8042.c:319) >> >>> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> >>> referenced 15 more times > > kb_cs and kb_data are declared as extern void pointers when > CONFIG_WALNUT is set, which this config does. However, it looks like > the definitions of these variables were removed in > commit 917f0af9e5a9 ("powerpc: Remove arch/ppc and include/asm-ppc"), > way back in 2.6.27-rc1... So presumably, this has been broken for 12 > years and nobody noticed? Hmm, nice. 12 years is a pretty typical time frame for finding bugs in the powerpc tree ... o_O Our ppc40x_defconfig has CONFIG_SERIO=m, but explicitly disables CONFIG_SERIO_I8042. And walnut_defconfig disables CONFIG_SERIO. So I guess it has a PS2 controller but most folks didn't use it? > Probably means there is a good amount of dead > code that can be removed, or we could just avoid ever selecting this > driver with CONFIG_WALNUT (if it does not actually work without the > special handling from i8042-ppcio.h) while removing the dead code. I'm inclined to let the driver be selected, rather than carry a wart for it. I doubt anyone will ever turn it on explicitly, and if they do they can have fun debugging it. > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index 924c541a9260..59b2f655e39e 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -138,7 +138,7 @@ config PPC > select ARCH_HAVE_NMI_SAFE_CMPXCHG > select ARCH_KEEP_MEMBLOCK > select ARCH_MIGHT_HAVE_PC_PARPORT > - select ARCH_MIGHT_HAVE_PC_SERIO > + select ARCH_MIGHT_HAVE_PC_SERIO if !WALNUT > select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX > select ARCH_SUPPORTS_ATOMIC_RMW > select ARCH_USE_BUILTIN_BSWAP So I'd drop this hunk. > diff --git a/drivers/input/serio/i8042-ppcio.h b/drivers/input/serio/i8042-ppcio.h > deleted file mode 100644 > index 391f94d9e47d..000000000000 > --- a/drivers/input/serio/i8042-ppcio.h > +++ /dev/null > @@ -1,57 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0-only */ > -#ifndef _I8042_PPCIO_H > -#define _I8042_PPCIO_H > - > - > -#if defined(CONFIG_WALNUT) > - > -#define I8042_KBD_IRQ 25 > -#define I8042_AUX_IRQ 26 > - > -#define I8042_KBD_PHYS_DESC "walnutps2/serio0" > -#define I8042_AUX_PHYS_DESC "walnutps2/serio1" > -#define I8042_MUX_PHYS_DESC "walnutps2/serio%d" > - > -extern void *kb_cs; > -extern void *kb_data; > - > -#define I8042_COMMAND_REG (*(int *)kb_cs) > -#define I8042_DATA_REG (*(int *)kb_data) > - > -static inline int i8042_read_data(void) > -{ > - return readb(kb_data); > -} > - > -static inline int i8042_read_status(void) > -{ > - return readb(kb_cs); > -} > - > -static inline void i8042_write_data(int val) > -{ > - writeb(val, kb_data); > -} > - > -static inline void i8042_write_command(int val) > -{ > - writeb(val, kb_cs); > -} > - > -static inline int i8042_platform_init(void) > -{ > - i8042_reset = I8042_RESET_ALWAYS; > - return 0; > -} > - > -static inline void i8042_platform_exit(void) > -{ > -} > - > -#else > - > -#include "i8042-io.h" > - > -#endif > - > -#endif /* _I8042_PPCIO_H */ > diff --git a/drivers/input/serio/i8042.h b/drivers/input/serio/i8042.h > index 38dc27ad3c18..eb376700dfff 100644 > --- a/drivers/input/serio/i8042.h > +++ b/drivers/input/serio/i8042.h > @@ -17,8 +17,6 @@ > #include "i8042-ip22io.h" > #elif defined(CONFIG_SNI_RM) > #include "i8042-snirm.h" > -#elif defined(CONFIG_PPC) > -#include "i8042-ppcio.h" > #elif defined(CONFIG_SPARC) > #include "i8042-sparcio.h" > #elif defined(CONFIG_X86) || defined(CONFIG_IA64) #elif defined(CONFIG_UNICORE32) #include "i8042-unicore32io.h" #else #include "i8042-io.h" #endif The rest of the context is ^ Which makes it clear that your removal of the entire file results in no change when WALNUT=n. I'm not sure if anyone really maintains that code, but this is all PPC really so I think we could merge it. Do you want to send a proper SOB'ed patch? cheers ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] input: i8042: Remove special PowerPC handling 2020-05-18 13:20 ` Remove WALNUT hacks in serio/i8042 (was Re: ld.lld: error: undefined symbol: kb_cs) Michael Ellerman @ 2020-05-18 18:10 ` Nathan Chancellor 2020-05-20 6:07 ` Michael Ellerman 2020-06-09 5:29 ` Michael Ellerman 0 siblings, 2 replies; 8+ messages in thread From: Nathan Chancellor @ 2020-05-18 18:10 UTC (permalink / raw) To: Michael Ellerman Cc: Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux, Nathan Chancellor, kbuild test robot This causes a build error with CONFIG_WALNUT because kb_cs and kb_data were removed in commit 917f0af9e5a9 ("powerpc: Remove arch/ppc and include/asm-ppc"). ld.lld: error: undefined symbol: kb_cs > referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a ld.lld: error: undefined symbol: kb_data > referenced by i8042.c:309 (drivers/input/serio/i8042.c:309) > input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > referenced by i8042-ppcio.h:33 (drivers/input/serio/i8042-ppcio.h:33) > input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > referenced by i8042.c:319 (drivers/input/serio/i8042.c:319) > input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > referenced 15 more times Presumably since nobody has noticed this for the last 12 years, there is not anyone actually trying to use this driver so we can just remove this special walnut code and use the generic header so it builds for all configurations. Fixes: 917f0af9e5a9 ("powerpc: Remove arch/ppc and include/asm-ppc") Reported-by: kbuild test robot <lkp@intel.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- drivers/input/serio/i8042-ppcio.h | 57 ------------------------------- drivers/input/serio/i8042.h | 2 -- 2 files changed, 59 deletions(-) delete mode 100644 drivers/input/serio/i8042-ppcio.h diff --git a/drivers/input/serio/i8042-ppcio.h b/drivers/input/serio/i8042-ppcio.h deleted file mode 100644 index 391f94d9e47d..000000000000 --- a/drivers/input/serio/i8042-ppcio.h +++ /dev/null @@ -1,57 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ -#ifndef _I8042_PPCIO_H -#define _I8042_PPCIO_H - - -#if defined(CONFIG_WALNUT) - -#define I8042_KBD_IRQ 25 -#define I8042_AUX_IRQ 26 - -#define I8042_KBD_PHYS_DESC "walnutps2/serio0" -#define I8042_AUX_PHYS_DESC "walnutps2/serio1" -#define I8042_MUX_PHYS_DESC "walnutps2/serio%d" - -extern void *kb_cs; -extern void *kb_data; - -#define I8042_COMMAND_REG (*(int *)kb_cs) -#define I8042_DATA_REG (*(int *)kb_data) - -static inline int i8042_read_data(void) -{ - return readb(kb_data); -} - -static inline int i8042_read_status(void) -{ - return readb(kb_cs); -} - -static inline void i8042_write_data(int val) -{ - writeb(val, kb_data); -} - -static inline void i8042_write_command(int val) -{ - writeb(val, kb_cs); -} - -static inline int i8042_platform_init(void) -{ - i8042_reset = I8042_RESET_ALWAYS; - return 0; -} - -static inline void i8042_platform_exit(void) -{ -} - -#else - -#include "i8042-io.h" - -#endif - -#endif /* _I8042_PPCIO_H */ diff --git a/drivers/input/serio/i8042.h b/drivers/input/serio/i8042.h index 38dc27ad3c18..eb376700dfff 100644 --- a/drivers/input/serio/i8042.h +++ b/drivers/input/serio/i8042.h @@ -17,8 +17,6 @@ #include "i8042-ip22io.h" #elif defined(CONFIG_SNI_RM) #include "i8042-snirm.h" -#elif defined(CONFIG_PPC) -#include "i8042-ppcio.h" #elif defined(CONFIG_SPARC) #include "i8042-sparcio.h" #elif defined(CONFIG_X86) || defined(CONFIG_IA64) base-commit: 72bc15d0018ebfbc9c389539d636e2e9a9002b3b -- 2.27.0.rc0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] input: i8042: Remove special PowerPC handling 2020-05-18 18:10 ` [PATCH] input: i8042: Remove special PowerPC handling Nathan Chancellor @ 2020-05-20 6:07 ` Michael Ellerman 2020-05-20 17:16 ` Dmitry Torokhov 2020-06-09 5:29 ` Michael Ellerman 1 sibling, 1 reply; 8+ messages in thread From: Michael Ellerman @ 2020-05-20 6:07 UTC (permalink / raw) To: dmitry.torokhov, linux-input Cc: Nathan Chancellor, Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux, Nathan Chancellor, kbuild test robot [ + Dmitry & linux-input ] Nathan Chancellor <natechancellor@gmail.com> writes: > This causes a build error with CONFIG_WALNUT because kb_cs and kb_data > were removed in commit 917f0af9e5a9 ("powerpc: Remove arch/ppc and > include/asm-ppc"). > > ld.lld: error: undefined symbol: kb_cs >> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > > ld.lld: error: undefined symbol: kb_data >> referenced by i8042.c:309 (drivers/input/serio/i8042.c:309) >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> referenced by i8042-ppcio.h:33 (drivers/input/serio/i8042-ppcio.h:33) >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> referenced by i8042.c:319 (drivers/input/serio/i8042.c:319) >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> referenced 15 more times > > Presumably since nobody has noticed this for the last 12 years, there is > not anyone actually trying to use this driver so we can just remove this > special walnut code and use the generic header so it builds for all > configurations. > > Fixes: 917f0af9e5a9 ("powerpc: Remove arch/ppc and include/asm-ppc") > Reported-by: kbuild test robot <lkp@intel.com> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > drivers/input/serio/i8042-ppcio.h | 57 ------------------------------- > drivers/input/serio/i8042.h | 2 -- > 2 files changed, 59 deletions(-) > delete mode 100644 drivers/input/serio/i8042-ppcio.h This LGTM. Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) I assumed drivers/input/serio would be pretty quiet, but there's actually some commits to it in linux-next. So perhaps this should go via the input tree. Dmitry do you want to take this, or should I take it via powerpc? Original patch is here: https://lore.kernel.org/lkml/20200518181043.3363953-1-natechancellor@gmail.com cheers > diff --git a/drivers/input/serio/i8042-ppcio.h b/drivers/input/serio/i8042-ppcio.h > deleted file mode 100644 > index 391f94d9e47d..000000000000 > --- a/drivers/input/serio/i8042-ppcio.h > +++ /dev/null > @@ -1,57 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0-only */ > -#ifndef _I8042_PPCIO_H > -#define _I8042_PPCIO_H > - > - > -#if defined(CONFIG_WALNUT) > - > -#define I8042_KBD_IRQ 25 > -#define I8042_AUX_IRQ 26 > - > -#define I8042_KBD_PHYS_DESC "walnutps2/serio0" > -#define I8042_AUX_PHYS_DESC "walnutps2/serio1" > -#define I8042_MUX_PHYS_DESC "walnutps2/serio%d" > - > -extern void *kb_cs; > -extern void *kb_data; > - > -#define I8042_COMMAND_REG (*(int *)kb_cs) > -#define I8042_DATA_REG (*(int *)kb_data) > - > -static inline int i8042_read_data(void) > -{ > - return readb(kb_data); > -} > - > -static inline int i8042_read_status(void) > -{ > - return readb(kb_cs); > -} > - > -static inline void i8042_write_data(int val) > -{ > - writeb(val, kb_data); > -} > - > -static inline void i8042_write_command(int val) > -{ > - writeb(val, kb_cs); > -} > - > -static inline int i8042_platform_init(void) > -{ > - i8042_reset = I8042_RESET_ALWAYS; > - return 0; > -} > - > -static inline void i8042_platform_exit(void) > -{ > -} > - > -#else > - > -#include "i8042-io.h" > - > -#endif > - > -#endif /* _I8042_PPCIO_H */ > diff --git a/drivers/input/serio/i8042.h b/drivers/input/serio/i8042.h > index 38dc27ad3c18..eb376700dfff 100644 > --- a/drivers/input/serio/i8042.h > +++ b/drivers/input/serio/i8042.h > @@ -17,8 +17,6 @@ > #include "i8042-ip22io.h" > #elif defined(CONFIG_SNI_RM) > #include "i8042-snirm.h" > -#elif defined(CONFIG_PPC) > -#include "i8042-ppcio.h" > #elif defined(CONFIG_SPARC) > #include "i8042-sparcio.h" > #elif defined(CONFIG_X86) || defined(CONFIG_IA64) > > base-commit: 72bc15d0018ebfbc9c389539d636e2e9a9002b3b > -- > 2.27.0.rc0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] input: i8042: Remove special PowerPC handling 2020-05-20 6:07 ` Michael Ellerman @ 2020-05-20 17:16 ` Dmitry Torokhov 2020-05-21 7:39 ` Michael Ellerman 0 siblings, 1 reply; 8+ messages in thread From: Dmitry Torokhov @ 2020-05-20 17:16 UTC (permalink / raw) To: Michael Ellerman Cc: linux-input, Nathan Chancellor, Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux, kbuild test robot Hi Michael, On Wed, May 20, 2020 at 04:07:00PM +1000, Michael Ellerman wrote: > [ + Dmitry & linux-input ] > > Nathan Chancellor <natechancellor@gmail.com> writes: > > This causes a build error with CONFIG_WALNUT because kb_cs and kb_data > > were removed in commit 917f0af9e5a9 ("powerpc: Remove arch/ppc and > > include/asm-ppc"). > > > > ld.lld: error: undefined symbol: kb_cs > >> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > >> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > >> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > > > > ld.lld: error: undefined symbol: kb_data > >> referenced by i8042.c:309 (drivers/input/serio/i8042.c:309) > >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > >> referenced by i8042-ppcio.h:33 (drivers/input/serio/i8042-ppcio.h:33) > >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > >> referenced by i8042.c:319 (drivers/input/serio/i8042.c:319) > >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > >> referenced 15 more times > > > > Presumably since nobody has noticed this for the last 12 years, there is > > not anyone actually trying to use this driver so we can just remove this > > special walnut code and use the generic header so it builds for all > > configurations. > > > > Fixes: 917f0af9e5a9 ("powerpc: Remove arch/ppc and include/asm-ppc") > > Reported-by: kbuild test robot <lkp@intel.com> > > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > > --- > > drivers/input/serio/i8042-ppcio.h | 57 ------------------------------- > > drivers/input/serio/i8042.h | 2 -- > > 2 files changed, 59 deletions(-) > > delete mode 100644 drivers/input/serio/i8042-ppcio.h > > This LGTM. > > Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) > > I assumed drivers/input/serio would be pretty quiet, but there's > actually some commits to it in linux-next. So perhaps this should go via > the input tree. > > Dmitry do you want to take this, or should I take it via powerpc? > > Original patch is here: > https://lore.kernel.org/lkml/20200518181043.3363953-1-natechancellor@gmail.com I'm fine with you taking it through powerpc. Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Also, while I have your attention ;), could you please ack or take https://lore.kernel.org/lkml/20191002214854.GA114387@dtor-ws/ as I believe this is the last user or input_polled_dev API and I would like to drop it from the tree. Thanks! -- Dmitry ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] input: i8042: Remove special PowerPC handling 2020-05-20 17:16 ` Dmitry Torokhov @ 2020-05-21 7:39 ` Michael Ellerman 0 siblings, 0 replies; 8+ messages in thread From: Michael Ellerman @ 2020-05-21 7:39 UTC (permalink / raw) To: Dmitry Torokhov Cc: linux-input, Nathan Chancellor, Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev, linux-kernel, clang-built-linux, kbuild test robot Dmitry Torokhov <dmitry.torokhov@gmail.com> writes: > Hi Michael, > > On Wed, May 20, 2020 at 04:07:00PM +1000, Michael Ellerman wrote: >> [ + Dmitry & linux-input ] >> >> Nathan Chancellor <natechancellor@gmail.com> writes: >> > This causes a build error with CONFIG_WALNUT because kb_cs and kb_data >> > were removed in commit 917f0af9e5a9 ("powerpc: Remove arch/ppc and >> > include/asm-ppc"). >> > >> > ld.lld: error: undefined symbol: kb_cs >> >> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >> >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> >> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >> >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> >> referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) >> >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> > >> > ld.lld: error: undefined symbol: kb_data >> >> referenced by i8042.c:309 (drivers/input/serio/i8042.c:309) >> >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> >> referenced by i8042-ppcio.h:33 (drivers/input/serio/i8042-ppcio.h:33) >> >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> >> referenced by i8042.c:319 (drivers/input/serio/i8042.c:319) >> >> input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a >> >> referenced 15 more times >> > >> > Presumably since nobody has noticed this for the last 12 years, there is >> > not anyone actually trying to use this driver so we can just remove this >> > special walnut code and use the generic header so it builds for all >> > configurations. >> > >> > Fixes: 917f0af9e5a9 ("powerpc: Remove arch/ppc and include/asm-ppc") >> > Reported-by: kbuild test robot <lkp@intel.com> >> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> >> > --- >> > drivers/input/serio/i8042-ppcio.h | 57 ------------------------------- >> > drivers/input/serio/i8042.h | 2 -- >> > 2 files changed, 59 deletions(-) >> > delete mode 100644 drivers/input/serio/i8042-ppcio.h >> >> This LGTM. >> >> Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) >> >> I assumed drivers/input/serio would be pretty quiet, but there's >> actually some commits to it in linux-next. So perhaps this should go via >> the input tree. >> >> Dmitry do you want to take this, or should I take it via powerpc? >> >> Original patch is here: >> https://lore.kernel.org/lkml/20200518181043.3363953-1-natechancellor@gmail.com > > I'm fine with you taking it through powerpc. > > Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Thanks. > Also, while I have your attention ;), could you please ack or take > https://lore.kernel.org/lkml/20191002214854.GA114387@dtor-ws/ as I > believe this is the last user or input_polled_dev API and I would like > to drop it from the tree. Ooof. Sorry, you are very patient :) I have put it in my next-test. In future feel free to send me mail off-list, or ping me on irc, if I haven't picked something up after several months! cheers ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] input: i8042: Remove special PowerPC handling 2020-05-18 18:10 ` [PATCH] input: i8042: Remove special PowerPC handling Nathan Chancellor 2020-05-20 6:07 ` Michael Ellerman @ 2020-06-09 5:29 ` Michael Ellerman 1 sibling, 0 replies; 8+ messages in thread From: Michael Ellerman @ 2020-06-09 5:29 UTC (permalink / raw) To: Nathan Chancellor, Michael Ellerman Cc: clang-built-linux, linux-kernel, Paul Mackerras, kbuild test robot, linuxppc-dev On Mon, 18 May 2020 11:10:43 -0700, Nathan Chancellor wrote: > This causes a build error with CONFIG_WALNUT because kb_cs and kb_data > were removed in commit 917f0af9e5a9 ("powerpc: Remove arch/ppc and > include/asm-ppc"). > > ld.lld: error: undefined symbol: kb_cs > > referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > > input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > > referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > > input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > > referenced by i8042-ppcio.h:28 (drivers/input/serio/i8042-ppcio.h:28) > > input/serio/i8042.o:(__i8042_command) in archive drivers/built-in.a > > [...] Applied to powerpc/next. [1/1] input: i8042 - Remove special PowerPC handling https://git.kernel.org/powerpc/c/e4f4ffa8a98c24a4ab482669b1e2b4cfce3f52f4 cheers ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-06-09 5:29 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-05-14 0:13 ld.lld: error: undefined symbol: kb_cs kbuild test robot 2020-05-14 3:01 ` Nathan Chancellor 2020-05-18 13:20 ` Remove WALNUT hacks in serio/i8042 (was Re: ld.lld: error: undefined symbol: kb_cs) Michael Ellerman 2020-05-18 18:10 ` [PATCH] input: i8042: Remove special PowerPC handling Nathan Chancellor 2020-05-20 6:07 ` Michael Ellerman 2020-05-20 17:16 ` Dmitry Torokhov 2020-05-21 7:39 ` Michael Ellerman 2020-06-09 5:29 ` Michael Ellerman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).