[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202208070416.jdFdsESN-lkp@intel.com>
Date: Sun, 7 Aug 2022 04:08:56 +0800
From: kernel test robot <lkp@...el.com>
To: Masahiro Yamada <yamada.masahiro@...ionext.com>
Cc: llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
linux-kernel@...r.kernel.org,
Nathan Chancellor <natechancellor@...il.com>,
Matthias Kaehlcke <mka@...omium.org>,
Sean Paul <seanpaul@...omium.org>,
Guenter Roeck <groeck@...omium.org>
Subject: [jsarha:topic/chromeos-4.19-s0ix 6418/9999]
drivers/input/keyreset.c:119:5: warning: no previous prototype for function
'keyreset_remove'
Hi Masahiro,
FYI, the error/warning still remains.
tree: https://github.com/jsarha/linux topic/chromeos-4.19-s0ix
head: 430bdaa0a8c38697780f45a148964d71951df11f
commit: 4fae0a1dc645742f2ecd6238813b2d30d4fb31cd [6418/9999] UPSTREAM: kbuild: add some extra warning flags unconditionally
config: mips-randconfig-r012-20220807 (https://download.01.org/0day-ci/archive/20220807/202208070416.jdFdsESN-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 5f1c7e2cc5a3c07cbc2412e851a7283c1841f520)
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 mips cross compiling tool for clang build
# apt-get install binutils-mipsel-linux-gnu
# https://github.com/jsarha/linux/commit/4fae0a1dc645742f2ecd6238813b2d30d4fb31cd
git remote add jsarha https://github.com/jsarha/linux
git fetch --no-tags jsarha topic/chromeos-4.19-s0ix
git checkout 4fae0a1dc645742f2ecd6238813b2d30d4fb31cd
# 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=mips SHELL=/bin/bash M=drivers/input
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
In file included from drivers/input/keyreset.c:23:
In file included from include/linux/syscalls.h:85:
In file included from include/trace/syscall.h:7:
In file included from include/linux/trace_events.h:7:
In file included from include/linux/trace_seq.h:5:
include/linux/seq_buf.h:35:12: warning: assigning to 'char *' from 'unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
s->buffer = buf;
^ ~~~
>> drivers/input/keyreset.c:119:5: warning: no previous prototype for function 'keyreset_remove' [-Wmissing-prototypes]
int keyreset_remove(struct platform_device *pdev)
^
drivers/input/keyreset.c:119:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int keyreset_remove(struct platform_device *pdev)
^
static
2 warnings generated.
Assembler messages:
Fatal error: invalid -march= option: `mips32'
clang-16: error: assembler command failed with exit code 1 (use -v to see invocation)
--
>> drivers/input/keycombo.c:234:5: warning: no previous prototype for function 'keycombo_remove' [-Wmissing-prototypes]
int keycombo_remove(struct platform_device *pdev)
^
drivers/input/keycombo.c:234:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int keycombo_remove(struct platform_device *pdev)
^
static
1 warning generated.
Assembler messages:
Fatal error: invalid -march= option: `mips32'
clang-16: error: assembler command failed with exit code 1 (use -v to see invocation)
vim +/keyreset_remove +119 drivers/input/keyreset.c
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 @23 #include <linux/syscalls.h>
5f2afc82f504df Daniel Rosenberg 2014-05-07 24 #include <linux/keycombo.h>
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 25
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 26 struct keyreset_state {
5f2afc82f504df Daniel Rosenberg 2014-05-07 27 int restart_requested;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 28 int (*reset_fn)(void);
5f2afc82f504df Daniel Rosenberg 2014-05-07 29 struct platform_device *pdev_child;
595f7ba388d32f Daniel Rosenberg 2014-06-27 30 struct work_struct restart_work;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 31 };
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 32
595f7ba388d32f Daniel Rosenberg 2014-06-27 33 static void do_restart(struct work_struct *unused)
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 34 {
9a6baccec822de Eric Ernst 2016-09-02 35 orderly_reboot();
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 36 }
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 37
5f2afc82f504df Daniel Rosenberg 2014-05-07 38 static void do_reset_fn(void *priv)
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 39 {
5f2afc82f504df Daniel Rosenberg 2014-05-07 40 struct keyreset_state *state = priv;
5f2afc82f504df Daniel Rosenberg 2014-05-07 41 if (state->restart_requested)
5f2afc82f504df Daniel Rosenberg 2014-05-07 42 panic("keyboard reset failed, %d", state->restart_requested);
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 43 if (state->reset_fn) {
5f2afc82f504df Daniel Rosenberg 2014-05-07 44 state->restart_requested = state->reset_fn();
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 45 } else {
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 46 pr_info("keyboard reset\n");
595f7ba388d32f Daniel Rosenberg 2014-06-27 47 schedule_work(&state->restart_work);
5f2afc82f504df Daniel Rosenberg 2014-05-07 48 state->restart_requested = 1;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 49 }
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 50 }
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 51
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 52 static int keyreset_probe(struct platform_device *pdev)
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 53 {
5f2afc82f504df Daniel Rosenberg 2014-05-07 54 int ret = -ENOMEM;
5f2afc82f504df Daniel Rosenberg 2014-05-07 55 struct keycombo_platform_data *pdata_child;
5f2afc82f504df Daniel Rosenberg 2014-05-07 56 struct keyreset_platform_data *pdata = pdev->dev.platform_data;
5f2afc82f504df Daniel Rosenberg 2014-05-07 57 int up_size = 0, down_size = 0, size;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 58 int key, *keyp;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 59 struct keyreset_state *state;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 60
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 61 if (!pdata)
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 62 return -EINVAL;
5f2afc82f504df Daniel Rosenberg 2014-05-07 63 state = devm_kzalloc(&pdev->dev, sizeof(*state), GFP_KERNEL);
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 64 if (!state)
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 65 return -ENOMEM;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 66
5f2afc82f504df Daniel Rosenberg 2014-05-07 67 state->pdev_child = platform_device_alloc(KEYCOMBO_NAME,
5f2afc82f504df Daniel Rosenberg 2014-05-07 68 PLATFORM_DEVID_AUTO);
5f2afc82f504df Daniel Rosenberg 2014-05-07 69 if (!state->pdev_child)
5f2afc82f504df Daniel Rosenberg 2014-05-07 70 return -ENOMEM;
5f2afc82f504df Daniel Rosenberg 2014-05-07 71 state->pdev_child->dev.parent = &pdev->dev;
595f7ba388d32f Daniel Rosenberg 2014-06-27 72 INIT_WORK(&state->restart_work, do_restart);
5f2afc82f504df Daniel Rosenberg 2014-05-07 73
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 74 keyp = pdata->keys_down;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 75 while ((key = *keyp++)) {
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 76 if (key >= KEY_MAX)
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 77 continue;
5f2afc82f504df Daniel Rosenberg 2014-05-07 78 down_size++;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 79 }
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 80 if (pdata->keys_up) {
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 81 keyp = pdata->keys_up;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 82 while ((key = *keyp++)) {
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 83 if (key >= KEY_MAX)
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 84 continue;
5f2afc82f504df Daniel Rosenberg 2014-05-07 85 up_size++;
5f2afc82f504df Daniel Rosenberg 2014-05-07 86 }
5f2afc82f504df Daniel Rosenberg 2014-05-07 87 }
5f2afc82f504df Daniel Rosenberg 2014-05-07 88 size = sizeof(struct keycombo_platform_data)
5f2afc82f504df Daniel Rosenberg 2014-05-07 89 + sizeof(int) * (down_size + 1);
5f2afc82f504df Daniel Rosenberg 2014-05-07 90 pdata_child = devm_kzalloc(&pdev->dev, size, GFP_KERNEL);
5f2afc82f504df Daniel Rosenberg 2014-05-07 91 if (!pdata_child)
5f2afc82f504df Daniel Rosenberg 2014-05-07 92 goto error;
5f2afc82f504df Daniel Rosenberg 2014-05-07 93 memcpy(pdata_child->keys_down, pdata->keys_down,
5f2afc82f504df Daniel Rosenberg 2014-05-07 94 sizeof(int) * down_size);
5f2afc82f504df Daniel Rosenberg 2014-05-07 95 if (up_size > 0) {
5f2afc82f504df Daniel Rosenberg 2014-05-07 96 pdata_child->keys_up = devm_kzalloc(&pdev->dev, up_size + 1,
5f2afc82f504df Daniel Rosenberg 2014-05-07 97 GFP_KERNEL);
5f2afc82f504df Daniel Rosenberg 2014-05-07 98 if (!pdata_child->keys_up)
5f2afc82f504df Daniel Rosenberg 2014-05-07 99 goto error;
5f2afc82f504df Daniel Rosenberg 2014-05-07 100 memcpy(pdata_child->keys_up, pdata->keys_up,
5f2afc82f504df Daniel Rosenberg 2014-05-07 101 sizeof(int) * up_size);
5f2afc82f504df Daniel Rosenberg 2014-05-07 102 if (!pdata_child->keys_up)
5f2afc82f504df Daniel Rosenberg 2014-05-07 103 goto error;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 104 }
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 105 state->reset_fn = pdata->reset_fn;
5f2afc82f504df Daniel Rosenberg 2014-05-07 106 pdata_child->key_down_fn = do_reset_fn;
5f2afc82f504df Daniel Rosenberg 2014-05-07 107 pdata_child->priv = state;
5f2afc82f504df Daniel Rosenberg 2014-05-07 108 pdata_child->key_down_delay = pdata->key_down_delay;
5f2afc82f504df Daniel Rosenberg 2014-05-07 109 ret = platform_device_add_data(state->pdev_child, pdata_child, size);
5f2afc82f504df Daniel Rosenberg 2014-05-07 110 if (ret)
5f2afc82f504df Daniel Rosenberg 2014-05-07 111 goto error;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 112 platform_set_drvdata(pdev, state);
5f2afc82f504df Daniel Rosenberg 2014-05-07 113 return platform_device_add(state->pdev_child);
5f2afc82f504df Daniel Rosenberg 2014-05-07 114 error:
5f2afc82f504df Daniel Rosenberg 2014-05-07 115 platform_device_put(state->pdev_child);
5f2afc82f504df Daniel Rosenberg 2014-05-07 116 return ret;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 117 }
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 118
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 @119 int keyreset_remove(struct platform_device *pdev)
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 120 {
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 121 struct keyreset_state *state = platform_get_drvdata(pdev);
5f2afc82f504df Daniel Rosenberg 2014-05-07 122 platform_device_put(state->pdev_child);
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 123 return 0;
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 124 }
fa50e390aa4e9f Arve Hjønnevåg 2008-11-21 125
:::::: The code at line 119 was first introduced by commit
:::::: fa50e390aa4e9f5596734b01f927e5dca1f19843 ANDROID: input: keyreset: Add keyreset driver.
:::::: TO: Arve Hjønnevåg <arve@...roid.com>
:::::: CC: Guenter Roeck <groeck@...omium.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
Powered by blists - more mailing lists