[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202009151847.vT0l9rC1%lkp@intel.com>
Date: Tue, 15 Sep 2020 19:04:41 +0800
From: kernel test robot <lkp@...el.com>
To: Marek Behún <marek.behun@....cz>,
linux-leds@...r.kernel.org
Cc: kbuild-all@...ts.01.org, clang-built-linux@...glegroups.com,
Pavel Machek <pavel@....cz>, Dan Murphy <dmurphy@...com>,
Ondřej Jirman <megous@...ous.com>,
Russell King <linux@...linux.org.uk>,
Andrew Lunn <andrew@...n.ch>, linux-kernel@...r.kernel.org,
Matthias Schiffer <matthias.schiffer@...tq-group.com>,
Marek Behún <marek.behun@....cz>,
Rob Herring <robh+dt@...nel.org>
Subject: Re: [PATCH leds + devicetree v1 2/2] leds: trigger: netdev: allow
parsing `trigger-sources` from device tree
Hi "Marek,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on pavel-linux-leds/for-next]
[also build test ERROR on robh/for-next linus/master v5.9-rc5 next-20200915]
[cannot apply to linux/master]
[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/Marek-Beh-n/Parse-DT-property-trigger-sources-for-netdev-LED-trigger/20200915-074253
base: git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git for-next
config: x86_64-randconfig-a016-20200914 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 3ed89b51da38f081fedb57727076262abb81d149)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
>> drivers/leds/trigger/ledtrig-netdev.c:396:25: error: variable has incomplete type 'struct of_phandle_args'
struct of_phandle_args args;
^
drivers/leds/trigger/ledtrig-netdev.c:396:9: note: forward declaration of 'struct of_phandle_args'
struct of_phandle_args args;
^
>> drivers/leds/trigger/ledtrig-netdev.c:407:10: error: implicit declaration of function 'of_count_phandle_with_args' [-Werror,-Wimplicit-function-declaration]
count = of_count_phandle_with_args(np, "trigger-sources",
^
>> drivers/leds/trigger/ledtrig-netdev.c:421:8: error: implicit declaration of function 'of_parse_phandle_with_args' [-Werror,-Wimplicit-function-declaration]
err = of_parse_phandle_with_args(np, "trigger-sources",
^
drivers/leds/trigger/ledtrig-netdev.c:421:8: note: did you mean 'of_count_phandle_with_args'?
drivers/leds/trigger/ledtrig-netdev.c:407:10: note: 'of_count_phandle_with_args' declared here
count = of_count_phandle_with_args(np, "trigger-sources",
^
>> drivers/leds/trigger/ledtrig-netdev.c:430:8: error: implicit declaration of function 'of_property_read_string' [-Werror,-Wimplicit-function-declaration]
err = of_property_read_string(np, "function", &function);
^
4 errors generated.
# https://github.com/0day-ci/linux/commit/2055fc3b24bb72ea2569a866ccfb1ee840e0d385
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Marek-Beh-n/Parse-DT-property-trigger-sources-for-netdev-LED-trigger/20200915-074253
git checkout 2055fc3b24bb72ea2569a866ccfb1ee840e0d385
vim +396 drivers/leds/trigger/ledtrig-netdev.c
392
393 static bool netdev_trig_of_parse(struct led_classdev *led_cdev,
394 struct led_netdev_data *trigger_data)
395 {
> 396 struct of_phandle_args args;
397 struct net_device *netdev;
398 struct device_node *np;
399 const char *function;
400 unsigned long mode;
401 int count, err;
402
403 np = dev_of_node(led_cdev->dev);
404 if (!np)
405 return -EOPNOTSUPP;
406
> 407 count = of_count_phandle_with_args(np, "trigger-sources",
408 "#trigger-source-cells");
409 if (count == -ENOENT) {
410 return false;
411 } else if (count < 0) {
412 dev_warn(led_cdev->dev,
413 "Failed parsing trigger sources for %pOF!\n", np);
414 return false;
415 }
416
417 /* netdev trigger can have only one source */
418 if (count != 1)
419 return false;
420
> 421 err = of_parse_phandle_with_args(np, "trigger-sources",
422 "#trigger-source-cells", 0, &args);
423 if (err)
424 return false;
425
426 netdev = of_find_net_device_by_node(args.np);
427 if (!netdev)
428 return false;
429
> 430 err = of_property_read_string(np, "function", &function);
431 if (err && err != -ENOENT) {
432 dev_warn(led_cdev->dev, "Failed parsing function for %pOF!\n",
433 np);
434 return false;
435 } else if (err == -ENOENT) {
436 /* default function is link */
437 function = LED_FUNCTION_LINK;
438 }
439
440 mode = 0;
441 if (!strcmp(function, LED_FUNCTION_LINK)) {
442 set_bit(NETDEV_LED_LINK, &mode);
443 } else if (!strcmp(function, LED_FUNCTION_ACTIVITY)) {
444 set_bit(NETDEV_LED_TX, &mode);
445 set_bit(NETDEV_LED_RX, &mode);
446 } else if (!strcmp(function, LED_FUNCTION_RX)) {
447 set_bit(NETDEV_LED_RX, &mode);
448 } else if (!strcmp(function, LED_FUNCTION_TX)) {
449 set_bit(NETDEV_LED_TX, &mode);
450 } else {
451 dev_dbg(led_cdev->dev,
452 "Unsupported netdev trigger function for %pOF!\n", np);
453 return false;
454 }
455
456 if (trigger_data) {
457 dev_hold(netdev);
458 trigger_data->net_dev = netdev;
459 memcpy(trigger_data->device_name, netdev->name, IFNAMSIZ);
460 trigger_data->mode = mode;
461 if (netif_carrier_ok(netdev))
462 set_bit(NETDEV_LED_MODE_LINKUP, &trigger_data->mode);
463 }
464
465 return true;
466 }
467
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (37437 bytes)
Powered by blists - more mailing lists