[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202311230606.jY9zcxcB-lkp@intel.com>
Date: Thu, 23 Nov 2023 09:54:44 +0800
From: kernel test robot <lkp@...el.com>
To: Lukas Funke <lukas.funke-oss@...dmueller.com>,
MyungJoo Ham <myungjoo.ham@...sung.com>,
Chanwoo Choi <cw00.choi@...sung.com>
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
Lukas Funke <Lukas.Funke@...dmueller.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] extcon: usbc-tusb320: Set interrupt polarity based on
device-tree
Hi Lukas,
kernel test robot noticed the following build errors:
[auto build test ERROR on chanwoo-extcon/extcon-next]
[also build test ERROR on linus/master v6.7-rc2 next-20231122]
[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: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20231123/202311230606.jY9zcxcB-lkp@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231123/202311230606.jY9zcxcB-lkp@intel.com/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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311230606.jY9zcxcB-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/extcon/extcon-usbc-tusb320.c:573:10: error: call to undeclared function 'irq_get_irq_data'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
irq_d = irq_get_irq_data(client->irq);
^
drivers/extcon/extcon-usbc-tusb320.c:573:10: note: did you mean 'irq_set_irq_wake'?
include/linux/interrupt.h:482:12: note: 'irq_set_irq_wake' declared here
extern int irq_set_irq_wake(unsigned int irq, unsigned int on);
^
>> drivers/extcon/extcon-usbc-tusb320.c:573:8: error: incompatible integer to pointer conversion assigning to 'struct irq_data *' from 'int' [-Wint-conversion]
irq_d = irq_get_irq_data(client->irq);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/extcon/extcon-usbc-tusb320.c:579:12: error: call to undeclared function 'irqd_get_trigger_type'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
irq_pol = irqd_get_trigger_type(irq_d);
^
3 errors generated.
vim +/irq_get_irq_data +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
Powered by blists - more mailing lists