From: kernel test robot <lkp@intel.com>
To: Gireesh.Hiremath@in.bosch.com, linux-omap@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-input@vger.kernel.org, bcousson@baylibre.com,
tony@atomide.com, robh+dt@kernel.org,
krzysztof.kozlowski+dt@linaro.org, dmitry.torokhov@gmail.com,
mkorpershoek@baylibre.com, davidgow@google.com,
m.felsch@pengutronix.de, swboyd@chromium.org,
fengping.yu@mediatek.com, y.oudjana@protonmail.com,
rdunlap@infradead.org, colin.king@intel.com
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
sjoerd.simons@collabora.co.uk, VinayKumar.Shettar@in.bosch.com,
Govindaraji.Sivanantham@in.bosch.com,
anaclaudia.dias@de.bosch.com
Subject: Re: [PATCH v3 2/3] driver: input: matric-keypad: add reduced matrix support
Date: Fri, 19 Aug 2022 19:45:58 +0800 [thread overview]
Message-ID: <202208191937.Y6z0Gjrt-lkp@intel.com> (raw)
In-Reply-To: <20220819065946.9572-2-Gireesh.Hiremath@in.bosch.com>
Hi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on dtor-input/next]
[also build test WARNING on linus/master v6.0-rc1 next-20220819]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Gireesh-Hiremath-in-bosch-com/driver-input-matric-keypad-switch-to-gpiod/20220819-151155
base: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
config: s390-randconfig-r044-20220819 (https://download.01.org/0day-ci/archive/20220819/202208191937.Y6z0Gjrt-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 0ac597f3cacf60479ffd36b03766fa7462dabd78)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/a0b420e08e3b8775a3dbc4857f6ef4831db1c2b3
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Gireesh-Hiremath-in-bosch-com/driver-input-matric-keypad-switch-to-gpiod/20220819-151155
git checkout a0b420e08e3b8775a3dbc4857f6ef4831db1c2b3
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash drivers/input/keyboard/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from drivers/input/keyboard/matrix_keypad.c:14:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:37:59: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
^
include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
^
In file included from drivers/input/keyboard/matrix_keypad.c:14:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:35:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
^
In file included from drivers/input/keyboard/matrix_keypad.c:14:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:692:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:700:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:708:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:717:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:726:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:735:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> drivers/input/keyboard/matrix_keypad.c:857:3: warning: variable 'err' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (!keypad->button_array) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:30: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/keyboard/matrix_keypad.c:932:9: note: uninitialized use occurs here
return err;
^~~
drivers/input/keyboard/matrix_keypad.c:857:3: note: remove the 'if' if its condition is always false
if (!keypad->button_array) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
drivers/input/keyboard/matrix_keypad.c:828:9: note: initialize the variable 'err' to silence this warning
int err;
^
= 0
>> drivers/input/keyboard/matrix_keypad.c:65:33: warning: unused variable 'keypad_infos' [-Wunused-const-variable]
static const struct keypad_info keypad_infos[] = {
^
14 warnings generated.
vim +857 drivers/input/keyboard/matrix_keypad.c
822
823 static int matrix_keypad_probe(struct platform_device *pdev)
824 {
825 const struct matrix_keypad_platform_data *pdata;
826 struct matrix_keypad *keypad;
827 struct input_dev *input_dev;
> 828 int err;
829
830 pdata = dev_get_platdata(&pdev->dev);
831 if (!pdata) {
832 pdata = matrix_keypad_parse_dt(&pdev->dev);
833 if (IS_ERR(pdata))
834 return PTR_ERR(pdata);
835 } else if (!pdata->keymap_data) {
836 dev_err(&pdev->dev, "no keymap data defined\n");
837 return -EINVAL;
838 }
839
840 keypad = kzalloc(sizeof(struct matrix_keypad), GFP_KERNEL);
841 input_dev = input_allocate_device();
842 if (!keypad || !input_dev) {
843 err = -ENOMEM;
844 goto err_free_mem;
845 }
846
847 keypad->input_dev = input_dev;
848 keypad->pdata = pdata;
849 keypad->row_shift = get_count_order(pdata->num_col_gpios);
850 keypad->stopped = true;
851
852 if (pdata->mode == REDUCED) {
853 keypad->button_array = devm_kzalloc(
854 &pdev->dev,
855 sizeof(struct button) * (pdata->num_of_buttons),
856 GFP_KERNEL);
> 857 if (!keypad->button_array) {
858 dev_err(&pdev->dev,
859 "could not allocate memory for button array\n");
860 goto err_free_mem;
861 ;
862 }
863
864 poll_prepare(keypad);
865
866 err = input_setup_polling(input_dev, matrix_keypad_poll);
867 if (err) {
868 dev_err(&pdev->dev,
869 "unable to set up polling, err=%d\n", err);
870 return err;
871 }
872
873 input_set_poll_interval(input_dev, pdata->poll_interval_ms);
874 } else {
875 INIT_DELAYED_WORK(&keypad->work, matrix_keypad_scan);
876 }
877 spin_lock_init(&keypad->lock);
878
879 input_dev->name = pdev->name;
880 input_dev->id.bustype = BUS_HOST;
881 input_dev->dev.parent = &pdev->dev;
882 input_dev->open = matrix_keypad_start;
883 input_dev->close = matrix_keypad_stop;
884
885 if (pdata->mode == REDUCED) {
886 err = matrix_keypad_build_keymap(pdata->keymap_data, NULL,
887 pdata->num_line_gpios,
888 pdata->num_line_gpios, NULL,
889 input_dev);
890 if (err) {
891 dev_err(&pdev->dev, "failed to build keymap for reduced mode\n");
892 goto err_free_mem;
893 }
894 } else {
895 err = matrix_keypad_build_keymap(pdata->keymap_data, NULL,
896 pdata->num_row_gpios,
897 pdata->num_col_gpios, NULL,
898 input_dev);
899 if (err) {
900 dev_err(&pdev->dev, "failed to build keymap for generic mode\n");
901 goto err_free_mem;
902 }
903 }
904
905 if (!pdata->no_autorepeat)
906 __set_bit(EV_REP, input_dev->evbit);
907 input_set_capability(input_dev, EV_MSC, MSC_SCAN);
908 input_set_drvdata(input_dev, keypad);
909
910 if (pdata->mode == REDUCED) {
911 button_hdl_init(keypad);
912 } else {
913 err = matrix_keypad_init_gpio(pdev, keypad);
914 if (err)
915 goto err_free_mem;
916 }
917
918 err = input_register_device(keypad->input_dev);
919 if (err)
920 goto err_free_gpio;
921
922 device_init_wakeup(&pdev->dev, pdata->wakeup);
923 platform_set_drvdata(pdev, keypad);
924
925 return 0;
926
927 err_free_gpio:
928 matrix_keypad_free_gpio(keypad);
929 err_free_mem:
930 input_free_device(input_dev);
931 kfree(keypad);
932 return err;
933 }
934
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next prev parent reply other threads:[~2022-08-19 11:46 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-19 6:59 [PATCH v3 1/3] driver: input: matric-keypad: switch to gpiod Gireesh.Hiremath
2022-08-19 6:59 ` [PATCH v3 2/3] driver: input: matric-keypad: add reduced matrix support Gireesh.Hiremath
2022-08-19 10:35 ` kernel test robot
2022-08-19 11:45 ` kernel test robot [this message]
2022-08-19 12:10 ` Krzysztof Kozlowski
2022-08-19 6:59 ` [PATCH v3 3/3] dt-bindings: input: gpio-matrix-keypad: add reduced matrix keypad bindings definition Gireesh.Hiremath
2022-08-22 18:22 ` Rob Herring
2022-08-19 12:08 ` [PATCH v3 1/3] driver: input: matric-keypad: switch to gpiod Krzysztof Kozlowski
2022-08-19 13:12 ` Marco Felsch
2022-08-20 0:59 ` Dmitry Torokhov
2022-08-20 19:36 ` Marco Felsch
2022-08-21 5:00 ` Dmitry Torokhov
2022-08-19 15:53 kernel test robot
2022-08-22 7:36 ` Dan Carpenter
2022-08-22 7:36 ` Dan Carpenter
2022-08-19 17:36 [PATCH v3 2/3] driver: input: matric-keypad: add reduced matrix support kernel test robot
2022-08-22 7:40 ` Dan Carpenter
2022-08-22 7:40 ` Dan Carpenter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202208191937.Y6z0Gjrt-lkp@intel.com \
--to=lkp@intel.com \
--cc=Gireesh.Hiremath@in.bosch.com \
--cc=Govindaraji.Sivanantham@in.bosch.com \
--cc=VinayKumar.Shettar@in.bosch.com \
--cc=anaclaudia.dias@de.bosch.com \
--cc=bcousson@baylibre.com \
--cc=colin.king@intel.com \
--cc=davidgow@google.com \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=fengping.yu@mediatek.com \
--cc=kbuild-all@lists.01.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=m.felsch@pengutronix.de \
--cc=mkorpershoek@baylibre.com \
--cc=rdunlap@infradead.org \
--cc=robh+dt@kernel.org \
--cc=sjoerd.simons@collabora.co.uk \
--cc=swboyd@chromium.org \
--cc=tony@atomide.com \
--cc=y.oudjana@protonmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.