Re: [PATCH 01/10] input: keyboard: adp5588-keys: support gpi key events as 'gpio keys'
From: kernel test robot <hidden>
Date: 2022-07-09 04:11:29
Also in:
linux-gpio, linux-input
Hi "Nuno, I love your patch! Yet something to improve: [auto build test ERROR on dtor-input/next] [also build test ERROR on next-20220708] [cannot apply to brgl/gpio/for-next hid/for-next linus/master v5.19-rc5] [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/Nuno-S/adp5588-keys-refactor-and-fw-properties-support/20220708-173730 base: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next config: x86_64-randconfig-a013 (https://download.01.org/0day-ci/archive/20220709/202207091223.nBzeL6dk-lkp@intel.com/config) compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/64267ff775fd4b945fb916a10187be1c15faa165 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Nuno-S/adp5588-keys-refactor-and-fw-properties-support/20220708-173730 git checkout 64267ff775fd4b945fb916a10187be1c15faa165 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <redacted> All errors (new ones prefixed by >>): drivers/input/keyboard/adp5588-keys.c: In function 'adp5588_gpio_add':
quoted
drivers/input/keyboard/adp5588-keys.c:263:18: error: 'struct gpio_chip' has no member named 'of_node'; did you mean 'fwnode'?
263 | kpad->gc.of_node = kpad->client->dev.of_node;
| ^~~~~~~
| fwnode
vim +263 drivers/input/keyboard/adp5588-keys.c
243
244 static int adp5588_gpio_add(struct adp5588_kpad *kpad)
245 {
246 struct irq_chip *irq_chip = &kpad->irq_chip;
247 struct device *dev = &kpad->client->dev;
248 const struct adp5588_kpad_platform_data *pdata = dev_get_platdata(dev);
249 const struct adp5588_gpio_platform_data *gpio_data = pdata->gpio_data;
250 struct gpio_irq_chip *girq;
251 int i, error;
252
253 if (!gpio_data)
254 return 0;
255
256 kpad->gc.ngpio = adp5588_build_gpiomap(kpad, pdata);
257 if (kpad->gc.ngpio == 0) {
258 dev_info(dev, "No unused gpios left to export\n");
259 return 0;
260 }
261
262 kpad->gc.parent = &kpad->client->dev;
> 263 kpad->gc.of_node = kpad->client->dev.of_node;
264 kpad->gc.direction_input = adp5588_gpio_direction_input;
265 kpad->gc.direction_output = adp5588_gpio_direction_output;
266 kpad->gc.get = adp5588_gpio_get_value;
267 kpad->gc.set = adp5588_gpio_set_value;
268 kpad->gc.can_sleep = 1;
269
270 kpad->gc.base = gpio_data->gpio_start;
271 kpad->gc.label = kpad->client->name;
272 kpad->gc.owner = THIS_MODULE;
273 kpad->gc.names = gpio_data->names;
274
275 irq_chip->name = "adp5588";
276 irq_chip->irq_mask = adp5588_irq_mask;
277 irq_chip->irq_unmask = adp5588_irq_unmask;
278 irq_chip->irq_bus_lock = adp5588_irq_bus_lock;
279 irq_chip->irq_bus_sync_unlock = adp5588_irq_bus_sync_unlock;
280 irq_chip->irq_set_type = adp5588_irq_set_type;
281 irq_chip->flags = IRQCHIP_SKIP_SET_WAKE;
282 girq = &kpad->gc.irq;
283 girq->chip = irq_chip;
284 girq->handler = handle_simple_irq;
285 girq->threaded = true;
286
287 mutex_init(&kpad->gpio_lock);
288
289 error = devm_gpiochip_add_data(dev, &kpad->gc, kpad);
290 if (error) {
291 dev_err(dev, "gpiochip_add failed: %d\n", error);
292 return error;
293 }
294
295 for (i = 0; i <= ADP5588_BANK(ADP5588_MAXGPIO); i++) {
296 kpad->dat_out[i] = adp5588_read(kpad->client,
297 GPIO_DAT_OUT1 + i);
298 kpad->dir[i] = adp5588_read(kpad->client, GPIO_DIR1 + i);
299 }
300
301 if (gpio_data->setup) {
302 error = gpio_data->setup(kpad->client,
303 kpad->gc.base, kpad->gc.ngpio,
304 gpio_data->context);
305 if (error)
306 dev_warn(dev, "setup failed: %d\n", error);
307 }
308
309 if (gpio_data->teardown) {
310 error = devm_add_action(dev, adp5588_gpio_do_teardown, kpad);
311 if (error)
312 dev_warn(dev, "failed to schedule teardown: %d\n",
313 error);
314 }
315
316 return 0;
317 }
318
--
0-DAY CI Kernel Test Service
https://01.org/lkp