* [PATCH] input: da7280: Make use of the helper function dev_err_probe()
@ 2022-02-16 5:46 zhaoxiao
2022-02-16 9:07 ` kernel test robot
2022-02-16 9:48 ` kernel test robot
0 siblings, 2 replies; 3+ messages in thread
From: zhaoxiao @ 2022-02-16 5:46 UTC (permalink / raw)
To: dmitry.torokhov; +Cc: support.opensource, linux-input, linux-kernel, zhaoxiao
devm_pwm_get() can return -EPROBE_DEFER if the pwm regulator is not
ready yet. Use dev_err_probe() for pwm regulator resources
to indicate the deferral reason when waiting for the
resource to come up.
Signed-off-by: zhaoxiao <zhaoxiao@uniontech.com>
---
drivers/input/misc/da7280.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/drivers/input/misc/da7280.c b/drivers/input/misc/da7280.c
index b08610d6e575..16b364a4ef5e 100644
--- a/drivers/input/misc/da7280.c
+++ b/drivers/input/misc/da7280.c
@@ -1165,12 +1165,9 @@ static int da7280_probe(struct i2c_client *client,
if (haptics->const_op_mode == DA7280_PWM_MODE) {
haptics->pwm_dev = devm_pwm_get(dev, NULL);
- error = PTR_ERR_OR_ZERO(haptics->pwm_dev);
- if (error) {
- if (error != -EPROBE_DEFER)
- dev_err(dev, "Unable to request PWM: %d\n",
- error);
- return error;
+ if (IS_ERR(haptics->pwm_dev))
+ return dev_err_probe(dev, PTR_ERR(haptics->pwm_dev),
+ "Unable to request PWM\n");
}
/* Sync up PWM state and ensure it is off. */
--
2.20.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] input: da7280: Make use of the helper function dev_err_probe()
2022-02-16 5:46 [PATCH] input: da7280: Make use of the helper function dev_err_probe() zhaoxiao
@ 2022-02-16 9:07 ` kernel test robot
2022-02-16 9:48 ` kernel test robot
1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2022-02-16 9:07 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 24590 bytes --]
Hi zhaoxiao,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on dtor-input/next]
[also build test ERROR on v5.17-rc4 next-20220215]
[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]
url: https://github.com/0day-ci/linux/commits/zhaoxiao/input-da7280-Make-use-of-the-helper-function-dev_err_probe/20220216-134841
base: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
config: nios2-randconfig-r001-20220216 (https://download.01.org/0day-ci/archive/20220216/202202161724.YrwefpTP-lkp(a)intel.com/config)
compiler: nios2-linux-gcc (GCC) 11.2.0
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
# https://github.com/0day-ci/linux/commit/b2755b400194965e54d346dd316d62002ce8cde3
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review zhaoxiao/input-da7280-Make-use-of-the-helper-function-dev_err_probe/20220216-134841
git checkout b2755b400194965e54d346dd316d62002ce8cde3
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nios2 SHELL=/bin/bash drivers/input/misc/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
drivers/input/misc/da7280.c: In function 'da7280_probe':
drivers/input/misc/da7280.c:1150:27: warning: unused variable 'ff' [-Wunused-variable]
1150 | struct ff_device *ff;
| ^~
drivers/input/misc/da7280.c:1148:27: warning: unused variable 'input_dev' [-Wunused-variable]
1148 | struct input_dev *input_dev;
| ^~~~~~~~~
In file included from include/linux/mm_types.h:17,
from include/linux/mmzone.h:21,
from include/linux/gfp.h:6,
from include/linux/radix-tree.h:12,
from include/linux/idr.h:15,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from include/linux/i2c.h:13,
from drivers/input/misc/da7280.c:12:
drivers/input/misc/da7280.c: At top level:
>> include/linux/workqueue.h:236:9: error: expected identifier or '(' before 'do'
236 | do { \
| ^~
include/linux/workqueue.h:245:9: note: in expansion of macro '__INIT_WORK'
245 | __INIT_WORK((_work), (_func), 0)
| ^~~~~~~~~~~
drivers/input/misc/da7280.c:1193:9: note: in expansion of macro 'INIT_WORK'
1193 | INIT_WORK(&haptics->work, da7280_haptic_work);
| ^~~~~~~~~
>> include/linux/workqueue.h:241:11: error: expected identifier or '(' before 'while'
241 | } while (0)
| ^~~~~
include/linux/workqueue.h:245:9: note: in expansion of macro '__INIT_WORK'
245 | __INIT_WORK((_work), (_func), 0)
| ^~~~~~~~~~~
drivers/input/misc/da7280.c:1193:9: note: in expansion of macro 'INIT_WORK'
1193 | INIT_WORK(&haptics->work, da7280_haptic_work);
| ^~~~~~~~~
>> drivers/input/misc/da7280.c:1195:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1195 | haptics->client = client;
| ^~
>> drivers/input/misc/da7280.c:1196:9: warning: data definition has no type or storage class
1196 | i2c_set_clientdata(client, haptics);
| ^~~~~~~~~~~~~~~~~~
>> drivers/input/misc/da7280.c:1196:9: error: type defaults to 'int' in declaration of 'i2c_set_clientdata' [-Werror=implicit-int]
>> drivers/input/misc/da7280.c:1196:9: warning: parameter names (without types) in function declaration
>> drivers/input/misc/da7280.c:1196:9: error: conflicting types for 'i2c_set_clientdata'; have 'int()'
In file included from drivers/input/misc/da7280.c:12:
include/linux/i2c.h:376:20: note: previous definition of 'i2c_set_clientdata' with type 'void(struct i2c_client *, void *)'
376 | static inline void i2c_set_clientdata(struct i2c_client *client, void *data)
| ^~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1198:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1198 | haptics->regmap = devm_regmap_init_i2c(client,
| ^~
drivers/input/misc/da7280.c:1200:9: warning: data definition has no type or storage class
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~
>> drivers/input/misc/da7280.c:1200:9: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int]
>> drivers/input/misc/da7280.c:1200:33: error: 'haptics' undeclared here (not in a function)
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~~~
>> drivers/input/misc/da7280.c:1201:9: error: expected identifier or '(' before 'if'
1201 | if (error) {
| ^~
drivers/input/misc/da7280.c:1206:9: warning: data definition has no type or storage class
1206 | error = da7280_init(haptics);
| ^~~~~
drivers/input/misc/da7280.c:1206:9: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int]
>> drivers/input/misc/da7280.c:1206:9: error: redefinition of 'error'
drivers/input/misc/da7280.c:1200:9: note: previous definition of 'error' with type 'int'
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~
drivers/input/misc/da7280.c:1207:9: error: expected identifier or '(' before 'if'
1207 | if (error) {
| ^~
drivers/input/misc/da7280.c:1213:9: warning: data definition has no type or storage class
1213 | input_dev = devm_input_allocate_device(dev);
| ^~~~~~~~~
>> drivers/input/misc/da7280.c:1213:9: error: type defaults to 'int' in declaration of 'input_dev' [-Werror=implicit-int]
>> drivers/input/misc/da7280.c:1213:48: error: 'dev' undeclared here (not in a function); did you mean 'cdev'?
1213 | input_dev = devm_input_allocate_device(dev);
| ^~~
| cdev
drivers/input/misc/da7280.c:1214:9: error: expected identifier or '(' before 'if'
1214 | if (!input_dev) {
| ^~
drivers/input/misc/da7280.c:1219:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1219 | input_dev->name = "da7280-haptic";
| ^~
drivers/input/misc/da7280.c:1220:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1220 | input_dev->dev.parent = client->dev.parent;
| ^~
drivers/input/misc/da7280.c:1221:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1221 | input_dev->open = da7280_haptic_open;
| ^~
drivers/input/misc/da7280.c:1222:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1222 | input_dev->close = da7280_haptic_close;
| ^~
drivers/input/misc/da7280.c:1223:9: warning: data definition has no type or storage class
1223 | input_set_drvdata(input_dev, haptics);
| ^~~~~~~~~~~~~~~~~
>> drivers/input/misc/da7280.c:1223:9: error: type defaults to 'int' in declaration of 'input_set_drvdata' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1223:9: warning: parameter names (without types) in function declaration
>> drivers/input/misc/da7280.c:1223:9: error: conflicting types for 'input_set_drvdata'; have 'int()'
In file included from drivers/input/misc/da7280.c:13:
include/linux/input.h:379:20: note: previous definition of 'input_set_drvdata' with type 'void(struct input_dev *, void *)'
379 | static inline void input_set_drvdata(struct input_dev *dev, void *data)
| ^~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1224:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1224 | haptics->input_dev = input_dev;
| ^~
>> drivers/input/misc/da7280.c:1226:37: error: expected ')' before '->' token
1226 | input_set_capability(haptics->input_dev, EV_FF, FF_PERIODIC);
| ^~
| )
drivers/input/misc/da7280.c:1227:37: error: expected ')' before '->' token
1227 | input_set_capability(haptics->input_dev, EV_FF, FF_CUSTOM);
| ^~
| )
drivers/input/misc/da7280.c:1228:37: error: expected ')' before '->' token
1228 | input_set_capability(haptics->input_dev, EV_FF, FF_CONSTANT);
| ^~
| )
drivers/input/misc/da7280.c:1229:37: error: expected ')' before '->' token
1229 | input_set_capability(haptics->input_dev, EV_FF, FF_GAIN);
| ^~
| )
drivers/input/misc/da7280.c:1231:9: warning: data definition has no type or storage class
1231 | error = input_ff_create(haptics->input_dev,
| ^~~~~
drivers/input/misc/da7280.c:1231:9: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1231:9: error: redefinition of 'error'
drivers/input/misc/da7280.c:1200:9: note: previous definition of 'error' with type 'int'
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~
drivers/input/misc/da7280.c:1233:9: error: expected identifier or '(' before 'if'
1233 | if (error) {
| ^~
drivers/input/misc/da7280.c:1238:9: warning: data definition has no type or storage class
1238 | ff = input_dev->ff;
| ^~
>> drivers/input/misc/da7280.c:1238:9: error: type defaults to 'int' in declaration of 'ff' [-Werror=implicit-int]
>> drivers/input/misc/da7280.c:1238:23: error: invalid type argument of '->' (have 'int')
1238 | ff = input_dev->ff;
| ^~
drivers/input/misc/da7280.c:1239:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1239 | ff->upload = da7280_haptics_upload_effect;
| ^~
drivers/input/misc/da7280.c:1240:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1240 | ff->playback = da7280_haptics_playback;
| ^~
drivers/input/misc/da7280.c:1242:9: warning: data definition has no type or storage class
1242 | error = input_register_device(input_dev);
| ^~~~~
drivers/input/misc/da7280.c:1242:9: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1242:9: error: redefinition of 'error'
drivers/input/misc/da7280.c:1200:9: note: previous definition of 'error' with type 'int'
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~
>> drivers/input/misc/da7280.c:1242:39: warning: passing argument 1 of 'input_register_device' makes pointer from integer without a cast [-Wint-conversion]
1242 | error = input_register_device(input_dev);
| ^~~~~~~~~
| |
| int
In file included from drivers/input/misc/da7280.c:13:
include/linux/input.h:384:40: note: expected 'struct input_dev *' but argument is of type 'int'
384 | int __must_check input_register_device(struct input_dev *);
| ^~~~~~~~~~~~~~~~~~
>> drivers/input/misc/da7280.c:1242:17: error: initializer element is not constant
1242 | error = input_register_device(input_dev);
| ^~~~~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1243:9: error: expected identifier or '(' before 'if'
1243 | if (error) {
| ^~
drivers/input/misc/da7280.c:1248:9: warning: data definition has no type or storage class
1248 | error = devm_request_threaded_irq(dev, client->irq,
| ^~~~~
drivers/input/misc/da7280.c:1248:9: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1248:9: error: redefinition of 'error'
drivers/input/misc/da7280.c:1200:9: note: previous definition of 'error' with type 'int'
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~
drivers/input/misc/da7280.c:1248:48: error: 'client' undeclared here (not in a function)
1248 | error = devm_request_threaded_irq(dev, client->irq,
| ^~~~~~
drivers/input/misc/da7280.c:1252:9: error: expected identifier or '(' before 'if'
1252 | if (error) {
| ^~
drivers/input/misc/da7280.c:1258:9: error: expected identifier or '(' before 'return'
1258 | return 0;
| ^~~~~~
drivers/input/misc/da7280.c:1259:1: error: expected identifier or '(' before '}' token
1259 | }
| ^
drivers/input/misc/da7280.c: In function 'da7280_probe':
drivers/input/misc/da7280.c:1191:9: error: control reaches end of non-void function [-Werror=return-type]
1191 | }
| ^
At top level:
drivers/input/misc/da7280.c:715:13: warning: 'da7280_haptic_close' defined but not used [-Wunused-function]
715 | static void da7280_haptic_close(struct input_dev *dev)
| ^~~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:708:12: warning: 'da7280_haptic_open' defined but not used [-Wunused-function]
708 | static int da7280_haptic_open(struct input_dev *dev)
| ^~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:659:12: warning: 'da7280_haptics_playback' defined but not used [-Wunused-function]
659 | static int da7280_haptics_playback(struct input_dev *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:505:12: warning: 'da7280_haptics_upload_effect' defined but not used [-Wunused-function]
505 | static int da7280_haptics_upload_effect(struct input_dev *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:493:13: warning: 'da7280_haptic_work' defined but not used [-Wunused-function]
493 | static void da7280_haptic_work(struct work_struct *work)
| ^~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:277:35: warning: 'da7280_haptic_regmap_config' defined but not used [-Wunused-const-variable=]
277 | static const struct regmap_config da7280_haptic_regmap_config = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +1195 drivers/input/misc/da7280.c
cd3f609823a5896 Roy Im 2020-11-28 1142
cd3f609823a5896 Roy Im 2020-11-28 1143 static int da7280_probe(struct i2c_client *client,
cd3f609823a5896 Roy Im 2020-11-28 1144 const struct i2c_device_id *id)
cd3f609823a5896 Roy Im 2020-11-28 1145 {
cd3f609823a5896 Roy Im 2020-11-28 1146 struct device *dev = &client->dev;
cd3f609823a5896 Roy Im 2020-11-28 1147 struct da7280_haptic *haptics;
cd3f609823a5896 Roy Im 2020-11-28 1148 struct input_dev *input_dev;
cd3f609823a5896 Roy Im 2020-11-28 1149 struct pwm_state state;
cd3f609823a5896 Roy Im 2020-11-28 1150 struct ff_device *ff;
cd3f609823a5896 Roy Im 2020-11-28 1151 int error;
cd3f609823a5896 Roy Im 2020-11-28 1152
cd3f609823a5896 Roy Im 2020-11-28 1153 if (!client->irq) {
cd3f609823a5896 Roy Im 2020-11-28 1154 dev_err(dev, "No IRQ configured\n");
cd3f609823a5896 Roy Im 2020-11-28 1155 return -EINVAL;
cd3f609823a5896 Roy Im 2020-11-28 1156 }
cd3f609823a5896 Roy Im 2020-11-28 1157
cd3f609823a5896 Roy Im 2020-11-28 1158 haptics = devm_kzalloc(dev, sizeof(*haptics), GFP_KERNEL);
cd3f609823a5896 Roy Im 2020-11-28 1159 if (!haptics)
cd3f609823a5896 Roy Im 2020-11-28 1160 return -ENOMEM;
cd3f609823a5896 Roy Im 2020-11-28 1161
cd3f609823a5896 Roy Im 2020-11-28 1162 haptics->dev = dev;
cd3f609823a5896 Roy Im 2020-11-28 1163
cd3f609823a5896 Roy Im 2020-11-28 1164 da7280_parse_properties(dev, haptics);
cd3f609823a5896 Roy Im 2020-11-28 1165
cd3f609823a5896 Roy Im 2020-11-28 1166 if (haptics->const_op_mode == DA7280_PWM_MODE) {
cd3f609823a5896 Roy Im 2020-11-28 1167 haptics->pwm_dev = devm_pwm_get(dev, NULL);
b2755b400194965 zhaoxiao 2022-02-16 1168 if (IS_ERR(haptics->pwm_dev))
b2755b400194965 zhaoxiao 2022-02-16 1169 return dev_err_probe(dev, PTR_ERR(haptics->pwm_dev),
b2755b400194965 zhaoxiao 2022-02-16 1170 "Unable to request PWM\n");
cd3f609823a5896 Roy Im 2020-11-28 1171 }
cd3f609823a5896 Roy Im 2020-11-28 1172
cd3f609823a5896 Roy Im 2020-11-28 1173 /* Sync up PWM state and ensure it is off. */
cd3f609823a5896 Roy Im 2020-11-28 1174 pwm_init_state(haptics->pwm_dev, &state);
cd3f609823a5896 Roy Im 2020-11-28 1175 state.enabled = false;
cd3f609823a5896 Roy Im 2020-11-28 1176 error = pwm_apply_state(haptics->pwm_dev, &state);
cd3f609823a5896 Roy Im 2020-11-28 1177 if (error) {
cd3f609823a5896 Roy Im 2020-11-28 1178 dev_err(dev, "Failed to apply PWM state: %d\n", error);
cd3f609823a5896 Roy Im 2020-11-28 1179 return error;
cd3f609823a5896 Roy Im 2020-11-28 1180 }
cd3f609823a5896 Roy Im 2020-11-28 1181
cd3f609823a5896 Roy Im 2020-11-28 1182 /*
cd3f609823a5896 Roy Im 2020-11-28 1183 * Check PWM period, PWM freq = 1000000 / state.period.
cd3f609823a5896 Roy Im 2020-11-28 1184 * The valid PWM freq range: 10k ~ 250kHz.
cd3f609823a5896 Roy Im 2020-11-28 1185 */
cd3f609823a5896 Roy Im 2020-11-28 1186 if (state.period > 100000 || state.period < 4000) {
cd3f609823a5896 Roy Im 2020-11-28 1187 dev_err(dev, "Unsupported PWM period: %lld\n",
cd3f609823a5896 Roy Im 2020-11-28 1188 state.period);
cd3f609823a5896 Roy Im 2020-11-28 1189 return -EINVAL;
cd3f609823a5896 Roy Im 2020-11-28 1190 }
cd3f609823a5896 Roy Im 2020-11-28 1191 }
cd3f609823a5896 Roy Im 2020-11-28 1192
cd3f609823a5896 Roy Im 2020-11-28 1193 INIT_WORK(&haptics->work, da7280_haptic_work);
cd3f609823a5896 Roy Im 2020-11-28 1194
cd3f609823a5896 Roy Im 2020-11-28 @1195 haptics->client = client;
cd3f609823a5896 Roy Im 2020-11-28 @1196 i2c_set_clientdata(client, haptics);
cd3f609823a5896 Roy Im 2020-11-28 1197
cd3f609823a5896 Roy Im 2020-11-28 1198 haptics->regmap = devm_regmap_init_i2c(client,
cd3f609823a5896 Roy Im 2020-11-28 1199 &da7280_haptic_regmap_config);
cd3f609823a5896 Roy Im 2020-11-28 @1200 error = PTR_ERR_OR_ZERO(haptics->regmap);
cd3f609823a5896 Roy Im 2020-11-28 @1201 if (error) {
cd3f609823a5896 Roy Im 2020-11-28 1202 dev_err(dev, "Failed to allocate register map: %d\n", error);
cd3f609823a5896 Roy Im 2020-11-28 1203 return error;
cd3f609823a5896 Roy Im 2020-11-28 1204 }
cd3f609823a5896 Roy Im 2020-11-28 1205
cd3f609823a5896 Roy Im 2020-11-28 @1206 error = da7280_init(haptics);
cd3f609823a5896 Roy Im 2020-11-28 1207 if (error) {
cd3f609823a5896 Roy Im 2020-11-28 1208 dev_err(dev, "Failed to initialize device: %d\n", error);
cd3f609823a5896 Roy Im 2020-11-28 1209 return error;
cd3f609823a5896 Roy Im 2020-11-28 1210 }
cd3f609823a5896 Roy Im 2020-11-28 1211
cd3f609823a5896 Roy Im 2020-11-28 1212 /* Initialize input device for haptic device */
cd3f609823a5896 Roy Im 2020-11-28 @1213 input_dev = devm_input_allocate_device(dev);
cd3f609823a5896 Roy Im 2020-11-28 1214 if (!input_dev) {
cd3f609823a5896 Roy Im 2020-11-28 1215 dev_err(dev, "Failed to allocate input device\n");
cd3f609823a5896 Roy Im 2020-11-28 1216 return -ENOMEM;
cd3f609823a5896 Roy Im 2020-11-28 1217 }
cd3f609823a5896 Roy Im 2020-11-28 1218
cd3f609823a5896 Roy Im 2020-11-28 1219 input_dev->name = "da7280-haptic";
cd3f609823a5896 Roy Im 2020-11-28 1220 input_dev->dev.parent = client->dev.parent;
cd3f609823a5896 Roy Im 2020-11-28 1221 input_dev->open = da7280_haptic_open;
cd3f609823a5896 Roy Im 2020-11-28 1222 input_dev->close = da7280_haptic_close;
cd3f609823a5896 Roy Im 2020-11-28 @1223 input_set_drvdata(input_dev, haptics);
cd3f609823a5896 Roy Im 2020-11-28 1224 haptics->input_dev = input_dev;
cd3f609823a5896 Roy Im 2020-11-28 1225
cd3f609823a5896 Roy Im 2020-11-28 @1226 input_set_capability(haptics->input_dev, EV_FF, FF_PERIODIC);
cd3f609823a5896 Roy Im 2020-11-28 1227 input_set_capability(haptics->input_dev, EV_FF, FF_CUSTOM);
cd3f609823a5896 Roy Im 2020-11-28 1228 input_set_capability(haptics->input_dev, EV_FF, FF_CONSTANT);
cd3f609823a5896 Roy Im 2020-11-28 1229 input_set_capability(haptics->input_dev, EV_FF, FF_GAIN);
cd3f609823a5896 Roy Im 2020-11-28 1230
cd3f609823a5896 Roy Im 2020-11-28 1231 error = input_ff_create(haptics->input_dev,
cd3f609823a5896 Roy Im 2020-11-28 1232 DA7280_FF_EFFECT_COUNT_MAX);
cd3f609823a5896 Roy Im 2020-11-28 1233 if (error) {
cd3f609823a5896 Roy Im 2020-11-28 1234 dev_err(dev, "Failed to create FF input device: %d\n", error);
cd3f609823a5896 Roy Im 2020-11-28 1235 return error;
cd3f609823a5896 Roy Im 2020-11-28 1236 }
cd3f609823a5896 Roy Im 2020-11-28 1237
cd3f609823a5896 Roy Im 2020-11-28 @1238 ff = input_dev->ff;
cd3f609823a5896 Roy Im 2020-11-28 1239 ff->upload = da7280_haptics_upload_effect;
cd3f609823a5896 Roy Im 2020-11-28 1240 ff->playback = da7280_haptics_playback;
cd3f609823a5896 Roy Im 2020-11-28 1241
cd3f609823a5896 Roy Im 2020-11-28 @1242 error = input_register_device(input_dev);
cd3f609823a5896 Roy Im 2020-11-28 1243 if (error) {
cd3f609823a5896 Roy Im 2020-11-28 1244 dev_err(dev, "Failed to register input device: %d\n", error);
cd3f609823a5896 Roy Im 2020-11-28 1245 return error;
cd3f609823a5896 Roy Im 2020-11-28 1246 }
cd3f609823a5896 Roy Im 2020-11-28 1247
cd3f609823a5896 Roy Im 2020-11-28 @1248 error = devm_request_threaded_irq(dev, client->irq,
cd3f609823a5896 Roy Im 2020-11-28 1249 NULL, da7280_irq_handler,
cd3f609823a5896 Roy Im 2020-11-28 1250 IRQF_ONESHOT,
cd3f609823a5896 Roy Im 2020-11-28 1251 "da7280-haptics", haptics);
cd3f609823a5896 Roy Im 2020-11-28 1252 if (error) {
cd3f609823a5896 Roy Im 2020-11-28 1253 dev_err(dev, "Failed to request IRQ %d: %d\n",
cd3f609823a5896 Roy Im 2020-11-28 1254 client->irq, error);
cd3f609823a5896 Roy Im 2020-11-28 1255 return error;
cd3f609823a5896 Roy Im 2020-11-28 1256 }
cd3f609823a5896 Roy Im 2020-11-28 1257
cd3f609823a5896 Roy Im 2020-11-28 @1258 return 0;
cd3f609823a5896 Roy Im 2020-11-28 @1259 }
cd3f609823a5896 Roy Im 2020-11-28 1260
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] input: da7280: Make use of the helper function dev_err_probe()
2022-02-16 5:46 [PATCH] input: da7280: Make use of the helper function dev_err_probe() zhaoxiao
2022-02-16 9:07 ` kernel test robot
@ 2022-02-16 9:48 ` kernel test robot
1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2022-02-16 9:48 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 25337 bytes --]
Hi zhaoxiao,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on dtor-input/next]
[also build test ERROR on v5.17-rc4 next-20220215]
[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]
url: https://github.com/0day-ci/linux/commits/zhaoxiao/input-da7280-Make-use-of-the-helper-function-dev_err_probe/20220216-134841
base: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
config: sparc-randconfig-r015-20220216 (https://download.01.org/0day-ci/archive/20220216/202202161735.VuhKajhC-lkp(a)intel.com/config)
compiler: sparc64-linux-gcc (GCC) 11.2.0
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
# https://github.com/0day-ci/linux/commit/b2755b400194965e54d346dd316d62002ce8cde3
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review zhaoxiao/input-da7280-Make-use-of-the-helper-function-dev_err_probe/20220216-134841
git checkout b2755b400194965e54d346dd316d62002ce8cde3
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=sparc SHELL=/bin/bash drivers/input/misc/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/input/misc/da7280.c: In function 'da7280_probe':
drivers/input/misc/da7280.c:1150:27: warning: unused variable 'ff' [-Wunused-variable]
1150 | struct ff_device *ff;
| ^~
drivers/input/misc/da7280.c:1148:27: warning: unused variable 'input_dev' [-Wunused-variable]
1148 | struct input_dev *input_dev;
| ^~~~~~~~~
In file included from include/linux/mm_types.h:17,
from include/linux/mmzone.h:21,
from include/linux/gfp.h:6,
from include/linux/radix-tree.h:12,
from include/linux/idr.h:15,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from include/linux/i2c.h:13,
from drivers/input/misc/da7280.c:12:
drivers/input/misc/da7280.c: At top level:
include/linux/workqueue.h:225:9: error: expected identifier or '(' before 'do'
225 | do { \
| ^~
include/linux/workqueue.h:245:9: note: in expansion of macro '__INIT_WORK'
245 | __INIT_WORK((_work), (_func), 0)
| ^~~~~~~~~~~
drivers/input/misc/da7280.c:1193:9: note: in expansion of macro 'INIT_WORK'
1193 | INIT_WORK(&haptics->work, da7280_haptic_work);
| ^~~~~~~~~
include/linux/workqueue.h:233:11: error: expected identifier or '(' before 'while'
233 | } while (0)
| ^~~~~
include/linux/workqueue.h:245:9: note: in expansion of macro '__INIT_WORK'
245 | __INIT_WORK((_work), (_func), 0)
| ^~~~~~~~~~~
drivers/input/misc/da7280.c:1193:9: note: in expansion of macro 'INIT_WORK'
1193 | INIT_WORK(&haptics->work, da7280_haptic_work);
| ^~~~~~~~~
drivers/input/misc/da7280.c:1195:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1195 | haptics->client = client;
| ^~
drivers/input/misc/da7280.c:1196:9: warning: data definition has no type or storage class
1196 | i2c_set_clientdata(client, haptics);
| ^~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1196:9: error: type defaults to 'int' in declaration of 'i2c_set_clientdata' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1196:9: warning: parameter names (without types) in function declaration
drivers/input/misc/da7280.c:1196:9: error: conflicting types for 'i2c_set_clientdata'; have 'int()'
In file included from drivers/input/misc/da7280.c:12:
include/linux/i2c.h:376:20: note: previous definition of 'i2c_set_clientdata' with type 'void(struct i2c_client *, void *)'
376 | static inline void i2c_set_clientdata(struct i2c_client *client, void *data)
| ^~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1198:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1198 | haptics->regmap = devm_regmap_init_i2c(client,
| ^~
In file included from drivers/input/misc/da7280.c:17:
include/linux/regmap.h:676:10: error: expected identifier or '(' before ')' token
676 | }) \
| ^
include/linux/regmap.h:914:9: note: in expansion of macro '__regmap_lockdep_wrapper'
914 | __regmap_lockdep_wrapper(__devm_regmap_init_i2c, #config, \
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1198:27: note: in expansion of macro 'devm_regmap_init_i2c'
1198 | haptics->regmap = devm_regmap_init_i2c(client,
| ^~~~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1200:9: warning: data definition has no type or storage class
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~
drivers/input/misc/da7280.c:1200:9: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1200:33: error: 'haptics' undeclared here (not in a function)
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~~~
In file included from include/linux/build_bug.h:5,
from include/linux/bitfield.h:10,
from drivers/input/misc/da7280.c:9:
>> include/linux/compiler.h:56:23: error: expected identifier or '(' before 'if'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~
drivers/input/misc/da7280.c:1201:9: note: in expansion of macro 'if'
1201 | if (error) {
| ^~
>> include/linux/compiler.h:72:2: error: expected identifier or '(' before ')' token
72 | })
| ^
include/linux/compiler.h:58:69: note: in expansion of macro '__trace_if_value'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1201:9: note: in expansion of macro 'if'
1201 | if (error) {
| ^~
drivers/input/misc/da7280.c:1206:9: warning: data definition has no type or storage class
1206 | error = da7280_init(haptics);
| ^~~~~
drivers/input/misc/da7280.c:1206:9: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1206:9: error: redefinition of 'error'
drivers/input/misc/da7280.c:1200:9: note: previous definition of 'error' with type 'int'
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~
In file included from include/linux/build_bug.h:5,
from include/linux/bitfield.h:10,
from drivers/input/misc/da7280.c:9:
>> include/linux/compiler.h:56:23: error: expected identifier or '(' before 'if'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~
drivers/input/misc/da7280.c:1207:9: note: in expansion of macro 'if'
1207 | if (error) {
| ^~
>> include/linux/compiler.h:72:2: error: expected identifier or '(' before ')' token
72 | })
| ^
include/linux/compiler.h:58:69: note: in expansion of macro '__trace_if_value'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1207:9: note: in expansion of macro 'if'
1207 | if (error) {
| ^~
drivers/input/misc/da7280.c:1213:9: warning: data definition has no type or storage class
1213 | input_dev = devm_input_allocate_device(dev);
| ^~~~~~~~~
drivers/input/misc/da7280.c:1213:9: error: type defaults to 'int' in declaration of 'input_dev' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1213:48: error: 'dev' undeclared here (not in a function); did you mean 'cdev'?
1213 | input_dev = devm_input_allocate_device(dev);
| ^~~
| cdev
In file included from include/linux/build_bug.h:5,
from include/linux/bitfield.h:10,
from drivers/input/misc/da7280.c:9:
>> include/linux/compiler.h:56:23: error: expected identifier or '(' before 'if'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~
drivers/input/misc/da7280.c:1214:9: note: in expansion of macro 'if'
1214 | if (!input_dev) {
| ^~
>> include/linux/compiler.h:72:2: error: expected identifier or '(' before ')' token
72 | })
| ^
include/linux/compiler.h:58:69: note: in expansion of macro '__trace_if_value'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1214:9: note: in expansion of macro 'if'
1214 | if (!input_dev) {
| ^~
drivers/input/misc/da7280.c:1219:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1219 | input_dev->name = "da7280-haptic";
| ^~
drivers/input/misc/da7280.c:1220:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1220 | input_dev->dev.parent = client->dev.parent;
| ^~
drivers/input/misc/da7280.c:1221:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1221 | input_dev->open = da7280_haptic_open;
| ^~
drivers/input/misc/da7280.c:1222:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1222 | input_dev->close = da7280_haptic_close;
| ^~
drivers/input/misc/da7280.c:1223:9: warning: data definition has no type or storage class
1223 | input_set_drvdata(input_dev, haptics);
| ^~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1223:9: error: type defaults to 'int' in declaration of 'input_set_drvdata' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1223:9: warning: parameter names (without types) in function declaration
drivers/input/misc/da7280.c:1223:9: error: conflicting types for 'input_set_drvdata'; have 'int()'
In file included from drivers/input/misc/da7280.c:13:
include/linux/input.h:379:20: note: previous definition of 'input_set_drvdata' with type 'void(struct input_dev *, void *)'
379 | static inline void input_set_drvdata(struct input_dev *dev, void *data)
| ^~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1224:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1224 | haptics->input_dev = input_dev;
| ^~
drivers/input/misc/da7280.c:1226:37: error: expected ')' before '->' token
1226 | input_set_capability(haptics->input_dev, EV_FF, FF_PERIODIC);
| ^~
| )
drivers/input/misc/da7280.c:1227:37: error: expected ')' before '->' token
1227 | input_set_capability(haptics->input_dev, EV_FF, FF_CUSTOM);
| ^~
| )
drivers/input/misc/da7280.c:1228:37: error: expected ')' before '->' token
1228 | input_set_capability(haptics->input_dev, EV_FF, FF_CONSTANT);
| ^~
| )
drivers/input/misc/da7280.c:1229:37: error: expected ')' before '->' token
1229 | input_set_capability(haptics->input_dev, EV_FF, FF_GAIN);
| ^~
| )
drivers/input/misc/da7280.c:1231:9: warning: data definition has no type or storage class
1231 | error = input_ff_create(haptics->input_dev,
| ^~~~~
drivers/input/misc/da7280.c:1231:9: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1231:9: error: redefinition of 'error'
drivers/input/misc/da7280.c:1200:9: note: previous definition of 'error' with type 'int'
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~
In file included from include/linux/build_bug.h:5,
from include/linux/bitfield.h:10,
from drivers/input/misc/da7280.c:9:
>> include/linux/compiler.h:56:23: error: expected identifier or '(' before 'if'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~
drivers/input/misc/da7280.c:1233:9: note: in expansion of macro 'if'
1233 | if (error) {
| ^~
>> include/linux/compiler.h:72:2: error: expected identifier or '(' before ')' token
72 | })
| ^
include/linux/compiler.h:58:69: note: in expansion of macro '__trace_if_value'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1233:9: note: in expansion of macro 'if'
1233 | if (error) {
| ^~
drivers/input/misc/da7280.c:1238:9: warning: data definition has no type or storage class
1238 | ff = input_dev->ff;
| ^~
drivers/input/misc/da7280.c:1238:9: error: type defaults to 'int' in declaration of 'ff' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1238:23: error: invalid type argument of '->' (have 'int')
1238 | ff = input_dev->ff;
| ^~
drivers/input/misc/da7280.c:1239:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1239 | ff->upload = da7280_haptics_upload_effect;
| ^~
drivers/input/misc/da7280.c:1240:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
1240 | ff->playback = da7280_haptics_playback;
| ^~
drivers/input/misc/da7280.c:1242:9: warning: data definition has no type or storage class
1242 | error = input_register_device(input_dev);
| ^~~~~
drivers/input/misc/da7280.c:1242:9: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1242:9: error: redefinition of 'error'
drivers/input/misc/da7280.c:1200:9: note: previous definition of 'error' with type 'int'
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~
drivers/input/misc/da7280.c:1242:39: warning: passing argument 1 of 'input_register_device' makes pointer from integer without a cast [-Wint-conversion]
1242 | error = input_register_device(input_dev);
| ^~~~~~~~~
| |
| int
In file included from drivers/input/misc/da7280.c:13:
include/linux/input.h:384:40: note: expected 'struct input_dev *' but argument is of type 'int'
384 | int __must_check input_register_device(struct input_dev *);
| ^~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1242:17: error: initializer element is not constant
1242 | error = input_register_device(input_dev);
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/build_bug.h:5,
from include/linux/bitfield.h:10,
from drivers/input/misc/da7280.c:9:
>> include/linux/compiler.h:56:23: error: expected identifier or '(' before 'if'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~
drivers/input/misc/da7280.c:1243:9: note: in expansion of macro 'if'
1243 | if (error) {
| ^~
>> include/linux/compiler.h:72:2: error: expected identifier or '(' before ')' token
72 | })
| ^
include/linux/compiler.h:58:69: note: in expansion of macro '__trace_if_value'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1243:9: note: in expansion of macro 'if'
1243 | if (error) {
| ^~
drivers/input/misc/da7280.c:1248:9: warning: data definition has no type or storage class
1248 | error = devm_request_threaded_irq(dev, client->irq,
| ^~~~~
drivers/input/misc/da7280.c:1248:9: error: type defaults to 'int' in declaration of 'error' [-Werror=implicit-int]
drivers/input/misc/da7280.c:1248:9: error: redefinition of 'error'
drivers/input/misc/da7280.c:1200:9: note: previous definition of 'error' with type 'int'
1200 | error = PTR_ERR_OR_ZERO(haptics->regmap);
| ^~~~~
drivers/input/misc/da7280.c:1248:48: error: 'client' undeclared here (not in a function)
1248 | error = devm_request_threaded_irq(dev, client->irq,
| ^~~~~~
In file included from include/linux/build_bug.h:5,
from include/linux/bitfield.h:10,
from drivers/input/misc/da7280.c:9:
>> include/linux/compiler.h:56:23: error: expected identifier or '(' before 'if'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~
drivers/input/misc/da7280.c:1252:9: note: in expansion of macro 'if'
1252 | if (error) {
| ^~
>> include/linux/compiler.h:72:2: error: expected identifier or '(' before ')' token
72 | })
| ^
include/linux/compiler.h:58:69: note: in expansion of macro '__trace_if_value'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~~~~~~~~~~~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
drivers/input/misc/da7280.c:1252:9: note: in expansion of macro 'if'
1252 | if (error) {
| ^~
drivers/input/misc/da7280.c:1258:9: error: expected identifier or '(' before 'return'
1258 | return 0;
| ^~~~~~
drivers/input/misc/da7280.c:1259:1: error: expected identifier or '(' before '}' token
1259 | }
| ^
drivers/input/misc/da7280.c: In function 'da7280_probe':
drivers/input/misc/da7280.c:1191:9: error: control reaches end of non-void function [-Werror=return-type]
1191 | }
| ^
At top level:
drivers/input/misc/da7280.c:715:13: warning: 'da7280_haptic_close' defined but not used [-Wunused-function]
715 | static void da7280_haptic_close(struct input_dev *dev)
| ^~~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:708:12: warning: 'da7280_haptic_open' defined but not used [-Wunused-function]
708 | static int da7280_haptic_open(struct input_dev *dev)
| ^~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:659:12: warning: 'da7280_haptics_playback' defined but not used [-Wunused-function]
659 | static int da7280_haptics_playback(struct input_dev *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:505:12: warning: 'da7280_haptics_upload_effect' defined but not used [-Wunused-function]
505 | static int da7280_haptics_upload_effect(struct input_dev *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:493:13: warning: 'da7280_haptic_work' defined but not used [-Wunused-function]
493 | static void da7280_haptic_work(struct work_struct *work)
| ^~~~~~~~~~~~~~~~~~
drivers/input/misc/da7280.c:277:35: warning: 'da7280_haptic_regmap_config' defined but not used [-Wunused-const-variable=]
277 | static const struct regmap_config da7280_haptic_regmap_config = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +56 include/linux/compiler.h
2bcd521a684cc9 Steven Rostedt 2008-11-21 50
2bcd521a684cc9 Steven Rostedt 2008-11-21 51 #ifdef CONFIG_PROFILE_ALL_BRANCHES
2bcd521a684cc9 Steven Rostedt 2008-11-21 52 /*
2bcd521a684cc9 Steven Rostedt 2008-11-21 53 * "Define 'is'", Bill Clinton
2bcd521a684cc9 Steven Rostedt 2008-11-21 54 * "Define 'if'", Steven Rostedt
2bcd521a684cc9 Steven Rostedt 2008-11-21 55 */
a15fd609ad53a6 Linus Torvalds 2019-03-20 @56 #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
a15fd609ad53a6 Linus Torvalds 2019-03-20 57
a15fd609ad53a6 Linus Torvalds 2019-03-20 58 #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
a15fd609ad53a6 Linus Torvalds 2019-03-20 59
a15fd609ad53a6 Linus Torvalds 2019-03-20 60 #define __trace_if_value(cond) ({ \
2bcd521a684cc9 Steven Rostedt 2008-11-21 61 static struct ftrace_branch_data \
e04462fb82f8dd Miguel Ojeda 2018-09-03 62 __aligned(4) \
33def8498fdde1 Joe Perches 2020-10-21 63 __section("_ftrace_branch") \
a15fd609ad53a6 Linus Torvalds 2019-03-20 64 __if_trace = { \
2bcd521a684cc9 Steven Rostedt 2008-11-21 65 .func = __func__, \
2bcd521a684cc9 Steven Rostedt 2008-11-21 66 .file = __FILE__, \
2bcd521a684cc9 Steven Rostedt 2008-11-21 67 .line = __LINE__, \
2bcd521a684cc9 Steven Rostedt 2008-11-21 68 }; \
a15fd609ad53a6 Linus Torvalds 2019-03-20 69 (cond) ? \
a15fd609ad53a6 Linus Torvalds 2019-03-20 70 (__if_trace.miss_hit[1]++,1) : \
a15fd609ad53a6 Linus Torvalds 2019-03-20 71 (__if_trace.miss_hit[0]++,0); \
a15fd609ad53a6 Linus Torvalds 2019-03-20 @72 })
a15fd609ad53a6 Linus Torvalds 2019-03-20 73
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-02-16 9:48 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-16 5:46 [PATCH] input: da7280: Make use of the helper function dev_err_probe() zhaoxiao
2022-02-16 9:07 ` kernel test robot
2022-02-16 9:48 ` kernel test robot
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.