Re: [PATCH] extcon: usbc-tusb320: Set interrupt polarity based on device-tree

From: kernel test robot
Date: Tue Nov 21 2023 - 19:55:16 EST


Hi Lukas,

kernel test robot noticed the following build warnings:

[auto build test WARNING on chanwoo-extcon/extcon-next]
[also build test WARNING on linus/master v6.7-rc2 next-20231121]
[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/Lukas-Funke/extcon-usbc-tusb320-Set-interrupt-polarity-based-on-device-tree/20231121-205141
base: https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git extcon-next
patch link: https://lore.kernel.org/r/20231121124844.872238-1-lukas.funke-oss%40weidmueller.com
patch subject: [PATCH] extcon: usbc-tusb320: Set interrupt polarity based on device-tree
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20231122/202311220830.h2qNf15s-lkp@xxxxxxxxx/config)
compiler: s390-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231122/202311220830.h2qNf15s-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311220830.h2qNf15s-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/extcon/extcon-usbc-tusb320.c: In function 'tusb320_probe':
drivers/extcon/extcon-usbc-tusb320.c:573:17: error: implicit declaration of function 'irq_get_irq_data'; did you mean 'irq_set_irq_wake'? [-Werror=implicit-function-declaration]
573 | irq_d = irq_get_irq_data(client->irq);
| ^~~~~~~~~~~~~~~~
| irq_set_irq_wake
>> drivers/extcon/extcon-usbc-tusb320.c:573:15: warning: assignment to 'struct irq_data *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
573 | irq_d = irq_get_irq_data(client->irq);
| ^
drivers/extcon/extcon-usbc-tusb320.c:579:19: error: implicit declaration of function 'irqd_get_trigger_type' [-Werror=implicit-function-declaration]
579 | irq_pol = irqd_get_trigger_type(irq_d);
| ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +573 drivers/extcon/extcon-usbc-tusb320.c

511
512 static int tusb320_probe(struct i2c_client *client)
513 {
514 struct tusb320_priv *priv;
515 const void *match_data;
516 unsigned int revision;
517 int ret;
518 int irq_pol;
519 struct irq_data *irq_d;
520
521 priv = devm_kzalloc(&client->dev, sizeof(*priv), GFP_KERNEL);
522 if (!priv)
523 return -ENOMEM;
524
525 priv->dev = &client->dev;
526 i2c_set_clientdata(client, priv);
527
528 priv->regmap = devm_regmap_init_i2c(client, &tusb320_regmap_config);
529 if (IS_ERR(priv->regmap))
530 return PTR_ERR(priv->regmap);
531
532 ret = tusb320_check_signature(priv);
533 if (ret)
534 return ret;
535
536 match_data = device_get_match_data(&client->dev);
537 if (!match_data)
538 return -EINVAL;
539
540 priv->ops = (struct tusb320_ops*)match_data;
541
542 if (priv->ops->get_revision) {
543 ret = priv->ops->get_revision(priv, &revision);
544 if (ret)
545 dev_warn(priv->dev,
546 "failed to read revision register: %d\n", ret);
547 else
548 dev_info(priv->dev, "chip revision %d\n", revision);
549 }
550
551 ret = tusb320_extcon_probe(priv);
552 if (ret)
553 return ret;
554
555 ret = tusb320_typec_probe(client, priv);
556 if (ret)
557 return ret;
558
559 /* update initial state */
560 tusb320_state_update_handler(priv, true);
561
562 /* Reset chip to its default state */
563 ret = tusb320_reset(priv);
564 if (ret)
565 dev_warn(priv->dev, "failed to reset chip: %d\n", ret);
566 else
567 /*
568 * State and polarity might change after a reset, so update
569 * them again and make sure the interrupt status bit is cleared.
570 */
571 tusb320_state_update_handler(priv, true);
572
> 573 irq_d = irq_get_irq_data(client->irq);
574 if (!irq_d) {
575 dev_err(&client->dev, "Invalid IRQ: %d\n", client->irq);
576 return -ENODEV;
577 }
578
579 irq_pol = irqd_get_trigger_type(irq_d);
580
581 ret = devm_request_threaded_irq(priv->dev, client->irq, NULL,
582 tusb320_irq_handler,
583 IRQF_ONESHOT | irq_pol,
584 client->name, priv);
585 if (ret)
586 tusb320_typec_remove(priv);
587
588 return ret;
589 }
590

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki