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-o...
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-lk...)
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/b2755b400194965e54d346dd316d62002...
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(a)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@lists.01.org