* [pavel-linux-leds:for-next 9/18] drivers/leds/blink/leds-lgm-sso.c:635:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-08-04 10:07 kernel test robot
2021-08-05 10:36 ` kernel test robot
0 siblings, 1 reply; 5+ messages in thread
From: kernel test robot @ 2021-08-04 10:07 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 23596 bytes --]
CC: clang-built-linux(a)googlegroups.com
CC: kbuild-all(a)lists.01.org
CC: linux-leds(a)vger.kernel.org
TO: Andy Shevchenko <andy.shevchenko@gmail.com>
CC: Pavel Machek <pavel@ucw.cz>
tree: git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git for-next
head: 64f67b5240db79eceb0bd57dae8e591fd3103ba0
commit: 9999908ca1abee7aa518a4f6a3739517c137acbf [9/18] leds: lgm-sso: Put fwnode in any case during ->probe()
:::::: branch date: 12 hours ago
:::::: commit date: 12 hours ago
config: x86_64-randconfig-c001-20210803 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 4f71f59bf3d9914188a11d0c41bedbb339d36ff5)
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
# https://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git/commit/?id=9999908ca1abee7aa518a4f6a3739517c137acbf
git remote add pavel-linux-leds git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
git fetch --no-tags pavel-linux-leds for-next
git checkout 9999908ca1abee7aa518a4f6a3739517c137acbf
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:308:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/tty/serial/serial_core.c:734:29: note: Loop condition is false. Exiting loop
struct uart_state *state = container_of(port, struct uart_state, port);
^
include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/tty/serial/serial_core.c:744:6: note: Assuming 'uport' is null
if (!uport)
^~~~~~
drivers/tty/serial/serial_core.c:744:2: note: Taking true branch
if (!uport)
^
drivers/tty/serial/serial_core.c:745:3: note: Control jumps to line 768
goto out;
^
drivers/tty/serial/serial_core.c:769:2: note: Returning without writing to 'retinfo->iomem_reg_shift'
return ret;
^
drivers/tty/serial/serial_core.c:2729:2: note: Returning from 'uart_get_info'
uart_get_info(port, &tmp);
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/serial_core.c:2730:9: note: 3rd function call argument is an uninitialized value
return sprintf(buf, "%d\n", tmp.iomem_reg_shift);
^ ~~~~~~~~~~~~~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
fs/nfs/direct.c:703:19: warning: Value stored to 'req' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct nfs_page *req = nfs_list_entry(hdr->pages.next);
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/nfs/direct.c:703:19: note: Value stored to 'req' during its initialization is never read
struct nfs_page *req = nfs_list_entry(hdr->pages.next);
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
drivers/leds/uleds.c:150:4: warning: Value stored to 'retval' is never read [clang-analyzer-deadcode.DeadStores]
retval = copy_to_user(buffer, &udev->brightness,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/uleds.c:150:4: note: Value stored to 'retval' is never read
retval = copy_to_user(buffer, &udev->brightness,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
>> drivers/leds/blink/leds-lgm-sso.c:635:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = -ENOMEM;
^ ~~~~~~~
drivers/leds/blink/leds-lgm-sso.c:635:4: note: Value stored to 'ret' is never read
ret = -ENOMEM;
^ ~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
drivers/rtc/interface.c:799:8: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'tm_sec') [clang-analyzer-core.CallAndMessage]
now = rtc_tm_to_ktime(tm);
^
drivers/rtc/interface.c:984:6: note: Assuming field 'enabled' is 0
if (timer->enabled)
^~~~~~~~~~~~~~
drivers/rtc/interface.c:984:2: note: Taking false branch
if (timer->enabled)
^
drivers/rtc/interface.c:990:8: note: Calling 'rtc_timer_enqueue'
ret = rtc_timer_enqueue(rtc, timer);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/rtc/interface.c:794:2: note: 'tm' initialized here
struct rtc_time tm;
^~~~~~~~~~~~~~~~~~
drivers/rtc/interface.c:799:8: note: Passed-by-value struct argument contains uninitialized data (e.g., field: 'tm_sec')
now = rtc_tm_to_ktime(tm);
^ ~~
drivers/rtc/interface.c:899:8: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'tm_sec') [clang-analyzer-core.CallAndMessage]
now = rtc_tm_to_ktime(tm);
^ ~~
drivers/rtc/interface.c:891:2: note: 'tm' initialized here
struct rtc_time tm;
^~~~~~~~~~~~~~~~~~
drivers/rtc/interface.c:894:3: note: Left side of '&&' is false
container_of(work, struct rtc_device, irqwork);
^
include/linux/kernel.h:495:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/rtc/interface.c:894:3: note: Taking false branch
container_of(work, struct rtc_device, irqwork);
^
include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:308:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/rtc/interface.c:894:3: note: Loop condition is false. Exiting loop
container_of(work, struct rtc_device, irqwork);
^
include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/rtc/interface.c:899:8: note: Passed-by-value struct argument contains uninitialized data (e.g., field: 'tm_sec')
now = rtc_tm_to_ktime(tm);
^ ~~
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
drivers/input/keyboard/samsung-keypad.c:88:23: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
val &= ~(1 << col) << 8;
^
drivers/input/keyboard/samsung-keypad.c:158:3: note: Calling 'samsung_keypad_scan'
samsung_keypad_scan(keypad, row_state);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/keyboard/samsung-keypad.c:85:16: note: Assuming 'col' is < field 'cols'
for (col = 0; col < keypad->cols; col++) {
vim +/ret +635 drivers/leds/blink/leds-lgm-sso.c
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 619
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 620 static int
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 621 __sso_led_dt_parse(struct sso_led_priv *priv, struct fwnode_handle *fw_ssoled)
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 622 {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 623 struct fwnode_handle *fwnode_child;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 624 struct device *dev = priv->dev;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 625 struct sso_led_desc *desc;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 626 struct sso_led *led;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 627 struct list_head *p;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 628 const char *tmp;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 629 u32 prop;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 630 int ret;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 631
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 632 fwnode_for_each_child_node(fw_ssoled, fwnode_child) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 633 led = devm_kzalloc(dev, sizeof(*led), GFP_KERNEL);
9999908ca1abee7 Andy Shevchenko 2021-05-29 634 if (!led) {
9999908ca1abee7 Andy Shevchenko 2021-05-29 @635 ret = -ENOMEM;
9999908ca1abee7 Andy Shevchenko 2021-05-29 636 goto __dt_err;
9999908ca1abee7 Andy Shevchenko 2021-05-29 637 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 638
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 639 INIT_LIST_HEAD(&led->list);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 640 led->priv = priv;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 641 desc = &led->desc;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 642
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 643 led->gpiod = devm_fwnode_get_gpiod_from_child(dev, NULL,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 644 fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 645 GPIOD_ASIS, NULL);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 646 if (IS_ERR(led->gpiod)) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 647 dev_err(dev, "led: get gpio fail!\n");
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 648 goto __dt_err;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 649 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 650
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 651 fwnode_property_read_string(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 652 "linux,default-trigger",
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 653 &desc->default_trigger);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 654
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 655 if (fwnode_property_present(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 656 "retain-state-suspended"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 657 desc->retain_state_suspended = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 658
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 659 if (fwnode_property_present(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 660 "retain-state-shutdown"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 661 desc->retain_state_shutdown = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 662
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 663 if (fwnode_property_present(fwnode_child, "panic-indicator"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 664 desc->panic_indicator = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 665
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 666 ret = fwnode_property_read_u32(fwnode_child, "reg", &prop);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 667 if (ret != 0 || prop >= SSO_LED_MAX_NUM) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 668 dev_err(dev, "invalid LED pin:%u\n", prop);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 669 goto __dt_err;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 670 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 671 desc->pin = prop;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 672
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 673 if (fwnode_property_present(fwnode_child, "intel,sso-hw-blink"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 674 desc->hw_blink = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 675
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 676 desc->hw_trig = fwnode_property_read_bool(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 677 "intel,sso-hw-trigger");
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 678 if (desc->hw_trig) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 679 desc->default_trigger = NULL;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 680 desc->retain_state_shutdown = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 681 desc->retain_state_suspended = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 682 desc->panic_indicator = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 683 desc->hw_blink = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 684 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 685
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 686 if (fwnode_property_read_u32(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 687 "intel,sso-blink-rate-hz", &prop)) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 688 /* default first freq rate */
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 689 desc->freq_idx = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 690 desc->blink_rate = priv->freq[desc->freq_idx];
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 691 } else {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 692 desc->freq_idx = sso_get_blink_rate_idx(priv, prop);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 693 if (desc->freq_idx == -1)
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 694 desc->freq_idx = MAX_FREQ_RANK - 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 695
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 696 desc->blink_rate = priv->freq[desc->freq_idx];
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 697 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 698
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 699 if (!fwnode_property_read_string(fwnode_child, "default-state", &tmp)) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 700 if (!strcmp(tmp, "on"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 701 desc->brightness = LED_FULL;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 702 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 703
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 704 if (sso_create_led(priv, led, fwnode_child))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 705 goto __dt_err;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 706 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 707
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 708 return 0;
9999908ca1abee7 Andy Shevchenko 2021-05-29 709
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 710 __dt_err:
9999908ca1abee7 Andy Shevchenko 2021-05-29 711 fwnode_handle_put(fwnode_child);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 712 /* unregister leds */
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 713 list_for_each(p, &priv->led_list) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 714 led = list_entry(p, struct sso_led, list);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 715 sso_led_shutdown(led);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 716 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 717
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 718 return -EINVAL;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 719 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 720
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30460 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* [pavel-linux-leds:for-next 9/18] drivers/leds/blink/leds-lgm-sso.c:635:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
2021-08-04 10:07 [pavel-linux-leds:for-next 9/18] drivers/leds/blink/leds-lgm-sso.c:635:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
@ 2021-08-05 10:36 ` kernel test robot
0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2021-08-05 10:36 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: clang-built-linux, kbuild-all, linux-leds, Pavel Machek
[-- Attachment #1: Type: text/plain, Size: 23129 bytes --]
tree:
git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git for-next
head: 64f67b5240db79eceb0bd57dae8e591fd3103ba0
commit: 9999908ca1abee7aa518a4f6a3739517c137acbf [9/18] leds: lgm-sso:
Put fwnode in any case during ->probe()
config: x86_64-randconfig-c001-20210803 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project
4f71f59bf3d9914188a11d0c41bedbb339d36ff5)
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
#
https://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git/commit/?id=9999908ca1abee7aa518a4f6a3739517c137acbf
git remote add pavel-linux-leds
git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
git fetch --no-tags pavel-linux-leds for-next
git checkout 9999908ca1abee7aa518a4f6a3739517c137acbf
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross
ARCH=x86_64 clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
^
include/linux/build_bug.h:39:37: note: expanded from macro
'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro
'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_,
__COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro
'_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:308:3: note: expanded from macro
'__compiletime_assert'
if (!(condition))
\
^
drivers/tty/serial/serial_core.c:734:29: note: Loop condition is
false. Exiting loop
struct uart_state *state = container_of(port, struct
uart_state, port);
^
include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member)
&& \
^
include/linux/build_bug.h:39:37: note: expanded from macro
'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro
'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_,
__COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro
'_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:2: note: expanded from macro
'__compiletime_assert'
do {
\
^
drivers/tty/serial/serial_core.c:744:6: note: Assuming 'uport' is null
if (!uport)
^~~~~~
drivers/tty/serial/serial_core.c:744:2: note: Taking true branch
if (!uport)
^
drivers/tty/serial/serial_core.c:745:3: note: Control jumps to line 768
goto out;
^
drivers/tty/serial/serial_core.c:769:2: note: Returning without
writing to 'retinfo->iomem_reg_shift'
return ret;
^
drivers/tty/serial/serial_core.c:2729:2: note: Returning from
'uart_get_info'
uart_get_info(port, &tmp);
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/serial_core.c:2730:9: note: 3rd function call
argument is an uninitialized value
return sprintf(buf, "%d\n", tmp.iomem_reg_shift);
^ ~~~~~~~~~~~~~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
5 warnings generated.
fs/nfs/direct.c:703:19: warning: Value stored to 'req' during its
initialization is never read [clang-analyzer-deadcode.DeadStores]
struct nfs_page *req = nfs_list_entry(hdr->pages.next);
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/nfs/direct.c:703:19: note: Value stored to 'req' during its
initialization is never read
struct nfs_page *req = nfs_list_entry(hdr->pages.next);
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
drivers/leds/uleds.c:150:4: warning: Value stored to 'retval' is
never read [clang-analyzer-deadcode.DeadStores]
retval = copy_to_user(buffer, &udev->brightness,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/uleds.c:150:4: note: Value stored to 'retval' is never read
retval = copy_to_user(buffer, &udev->brightness,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
>> drivers/leds/blink/leds-lgm-sso.c:635:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = -ENOMEM;
^ ~~~~~~~
drivers/leds/blink/leds-lgm-sso.c:635:4: note: Value stored to 'ret'
is never read
ret = -ENOMEM;
^ ~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
6 warnings generated.
drivers/rtc/interface.c:799:8: warning: Passed-by-value struct
argument contains uninitialized data (e.g., field: 'tm_sec')
[clang-analyzer-core.CallAndMessage]
now = rtc_tm_to_ktime(tm);
^
drivers/rtc/interface.c:984:6: note: Assuming field 'enabled' is 0
if (timer->enabled)
^~~~~~~~~~~~~~
drivers/rtc/interface.c:984:2: note: Taking false branch
if (timer->enabled)
^
drivers/rtc/interface.c:990:8: note: Calling 'rtc_timer_enqueue'
ret = rtc_timer_enqueue(rtc, timer);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/rtc/interface.c:794:2: note: 'tm' initialized here
struct rtc_time tm;
^~~~~~~~~~~~~~~~~~
drivers/rtc/interface.c:799:8: note: Passed-by-value struct argument
contains uninitialized data (e.g., field: 'tm_sec')
now = rtc_tm_to_ktime(tm);
^ ~~
drivers/rtc/interface.c:899:8: warning: Passed-by-value struct
argument contains uninitialized data (e.g., field: 'tm_sec')
[clang-analyzer-core.CallAndMessage]
now = rtc_tm_to_ktime(tm);
^ ~~
drivers/rtc/interface.c:891:2: note: 'tm' initialized here
struct rtc_time tm;
^~~~~~~~~~~~~~~~~~
drivers/rtc/interface.c:894:3: note: Left side of '&&' is false
container_of(work, struct rtc_device, irqwork);
^
include/linux/kernel.h:495:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member)
&& \
^
drivers/rtc/interface.c:894:3: note: Taking false branch
container_of(work, struct rtc_device, irqwork);
^
include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member)
&& \
^
include/linux/build_bug.h:39:37: note: expanded from macro
'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro
'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_,
__COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro
'_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:308:3: note: expanded from macro
'__compiletime_assert'
if (!(condition))
\
^
drivers/rtc/interface.c:894:3: note: Loop condition is false.
Exiting loop
container_of(work, struct rtc_device, irqwork);
^
include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member)
&& \
^
include/linux/build_bug.h:39:37: note: expanded from macro
'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro
'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_,
__COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro
'_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:2: note: expanded from macro
'__compiletime_assert'
do {
\
^
drivers/rtc/interface.c:899:8: note: Passed-by-value struct argument
contains uninitialized data (e.g., field: 'tm_sec')
now = rtc_tm_to_ktime(tm);
^ ~~
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
drivers/input/keyboard/samsung-keypad.c:88:23: warning: The result
of the left shift is undefined because the left operand is negative
[clang-analyzer-core.UndefinedBinaryOperatorResult]
val &= ~(1 << col) << 8;
^
drivers/input/keyboard/samsung-keypad.c:158:3: note: Calling
'samsung_keypad_scan'
samsung_keypad_scan(keypad, row_state);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/keyboard/samsung-keypad.c:85:16: note: Assuming 'col'
is < field 'cols'
for (col = 0; col < keypad->cols; col++) {
vim +/ret +635 drivers/leds/blink/leds-lgm-sso.c
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 619
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 620 static int
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 621
__sso_led_dt_parse(struct sso_led_priv *priv, struct fwnode_handle
*fw_ssoled)
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 622 {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 623 struct
fwnode_handle *fwnode_child;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 624 struct
device *dev = priv->dev;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 625 struct
sso_led_desc *desc;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 626 struct
sso_led *led;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 627 struct
list_head *p;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 628 const char
*tmp;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 629 u32 prop;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 630 int ret;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 631
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 632
fwnode_for_each_child_node(fw_ssoled, fwnode_child) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 633 led =
devm_kzalloc(dev, sizeof(*led), GFP_KERNEL);
9999908ca1abee7 Andy Shevchenko 2021-05-29 634 if (!led) {
9999908ca1abee7 Andy Shevchenko 2021-05-29 @635 ret =
-ENOMEM;
9999908ca1abee7 Andy Shevchenko 2021-05-29 636 goto
__dt_err;
9999908ca1abee7 Andy Shevchenko 2021-05-29 637 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 638
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 639
INIT_LIST_HEAD(&led->list);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 640 led->priv
= priv;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 641 desc =
&led->desc;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 642
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 643
led->gpiod = devm_fwnode_get_gpiod_from_child(dev, NULL,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 644
fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 645
GPIOD_ASIS, NULL);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 646 if
(IS_ERR(led->gpiod)) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 647
dev_err(dev, "led: get gpio fail!\n");
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 648 goto
__dt_err;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 649 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 650
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 651
fwnode_property_read_string(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 652
"linux,default-trigger",
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 653
&desc->default_trigger);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 654
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 655 if
(fwnode_property_present(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 656
"retain-state-suspended"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 657
desc->retain_state_suspended = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 658
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 659 if
(fwnode_property_present(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 660
"retain-state-shutdown"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 661
desc->retain_state_shutdown = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 662
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 663 if
(fwnode_property_present(fwnode_child, "panic-indicator"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 664
desc->panic_indicator = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 665
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 666 ret =
fwnode_property_read_u32(fwnode_child, "reg", &prop);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 667 if (ret
!= 0 || prop >= SSO_LED_MAX_NUM) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 668
dev_err(dev, "invalid LED pin:%u\n", prop);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 669 goto
__dt_err;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 670 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 671 desc->pin
= prop;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 672
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 673 if
(fwnode_property_present(fwnode_child, "intel,sso-hw-blink"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 674
desc->hw_blink = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 675
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 676
desc->hw_trig = fwnode_property_read_bool(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 677
"intel,sso-hw-trigger");
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 678 if
(desc->hw_trig) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 679
desc->default_trigger = NULL;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 680
desc->retain_state_shutdown = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 681
desc->retain_state_suspended = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 682
desc->panic_indicator = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 683
desc->hw_blink = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 684 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 685
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 686 if
(fwnode_property_read_u32(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 687
"intel,sso-blink-rate-hz", &prop)) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 688 /*
default first freq rate */
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 689
desc->freq_idx = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 690
desc->blink_rate = priv->freq[desc->freq_idx];
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 691 } else {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 692
desc->freq_idx = sso_get_blink_rate_idx(priv, prop);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 693 if
(desc->freq_idx == -1)
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 694
desc->freq_idx = MAX_FREQ_RANK - 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 695
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 696
desc->blink_rate = priv->freq[desc->freq_idx];
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 697 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 698
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 699 if
(!fwnode_property_read_string(fwnode_child, "default-state", &tmp)) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 700 if
(!strcmp(tmp, "on"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 701
desc->brightness = LED_FULL;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 702 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 703
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 704 if
(sso_create_led(priv, led, fwnode_child))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 705 goto
__dt_err;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 706 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 707
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 708 return 0;
9999908ca1abee7 Andy Shevchenko 2021-05-29 709
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 710 __dt_err:
9999908ca1abee7 Andy Shevchenko 2021-05-29 711
fwnode_handle_put(fwnode_child);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 712 /*
unregister leds */
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 713
list_for_each(p, &priv->led_list) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 714 led =
list_entry(p, struct sso_led, list);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 715
sso_led_shutdown(led);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 716 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 717
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 718 return
-EINVAL;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 719 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 720
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30460 bytes --]
[-- Attachment #3: Attached Message Part --]
[-- Type: text/plain, Size: 150 bytes --]
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-leave@lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* [pavel-linux-leds:for-next 9/18] drivers/leds/blink/leds-lgm-sso.c:635:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-08-05 10:36 ` kernel test robot
0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2021-08-05 10:36 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 23605 bytes --]
tree:
git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git for-next
head: 64f67b5240db79eceb0bd57dae8e591fd3103ba0
commit: 9999908ca1abee7aa518a4f6a3739517c137acbf [9/18] leds: lgm-sso:
Put fwnode in any case during ->probe()
config: x86_64-randconfig-c001-20210803 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project
4f71f59bf3d9914188a11d0c41bedbb339d36ff5)
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
#
https://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git/commit/?id=9999908ca1abee7aa518a4f6a3739517c137acbf
git remote add pavel-linux-leds
git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
git fetch --no-tags pavel-linux-leds for-next
git checkout 9999908ca1abee7aa518a4f6a3739517c137acbf
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross
ARCH=x86_64 clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
^
include/linux/build_bug.h:39:37: note: expanded from macro
'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro
'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_,
__COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro
'_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:308:3: note: expanded from macro
'__compiletime_assert'
if (!(condition))
\
^
drivers/tty/serial/serial_core.c:734:29: note: Loop condition is
false. Exiting loop
struct uart_state *state = container_of(port, struct
uart_state, port);
^
include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member)
&& \
^
include/linux/build_bug.h:39:37: note: expanded from macro
'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro
'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_,
__COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro
'_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:2: note: expanded from macro
'__compiletime_assert'
do {
\
^
drivers/tty/serial/serial_core.c:744:6: note: Assuming 'uport' is null
if (!uport)
^~~~~~
drivers/tty/serial/serial_core.c:744:2: note: Taking true branch
if (!uport)
^
drivers/tty/serial/serial_core.c:745:3: note: Control jumps to line 768
goto out;
^
drivers/tty/serial/serial_core.c:769:2: note: Returning without
writing to 'retinfo->iomem_reg_shift'
return ret;
^
drivers/tty/serial/serial_core.c:2729:2: note: Returning from
'uart_get_info'
uart_get_info(port, &tmp);
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/serial_core.c:2730:9: note: 3rd function call
argument is an uninitialized value
return sprintf(buf, "%d\n", tmp.iomem_reg_shift);
^ ~~~~~~~~~~~~~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
5 warnings generated.
fs/nfs/direct.c:703:19: warning: Value stored to 'req' during its
initialization is never read [clang-analyzer-deadcode.DeadStores]
struct nfs_page *req = nfs_list_entry(hdr->pages.next);
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/nfs/direct.c:703:19: note: Value stored to 'req' during its
initialization is never read
struct nfs_page *req = nfs_list_entry(hdr->pages.next);
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
drivers/leds/uleds.c:150:4: warning: Value stored to 'retval' is
never read [clang-analyzer-deadcode.DeadStores]
retval = copy_to_user(buffer, &udev->brightness,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/uleds.c:150:4: note: Value stored to 'retval' is never read
retval = copy_to_user(buffer, &udev->brightness,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
>> drivers/leds/blink/leds-lgm-sso.c:635:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = -ENOMEM;
^ ~~~~~~~
drivers/leds/blink/leds-lgm-sso.c:635:4: note: Value stored to 'ret'
is never read
ret = -ENOMEM;
^ ~~~~~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
6 warnings generated.
drivers/rtc/interface.c:799:8: warning: Passed-by-value struct
argument contains uninitialized data (e.g., field: 'tm_sec')
[clang-analyzer-core.CallAndMessage]
now = rtc_tm_to_ktime(tm);
^
drivers/rtc/interface.c:984:6: note: Assuming field 'enabled' is 0
if (timer->enabled)
^~~~~~~~~~~~~~
drivers/rtc/interface.c:984:2: note: Taking false branch
if (timer->enabled)
^
drivers/rtc/interface.c:990:8: note: Calling 'rtc_timer_enqueue'
ret = rtc_timer_enqueue(rtc, timer);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/rtc/interface.c:794:2: note: 'tm' initialized here
struct rtc_time tm;
^~~~~~~~~~~~~~~~~~
drivers/rtc/interface.c:799:8: note: Passed-by-value struct argument
contains uninitialized data (e.g., field: 'tm_sec')
now = rtc_tm_to_ktime(tm);
^ ~~
drivers/rtc/interface.c:899:8: warning: Passed-by-value struct
argument contains uninitialized data (e.g., field: 'tm_sec')
[clang-analyzer-core.CallAndMessage]
now = rtc_tm_to_ktime(tm);
^ ~~
drivers/rtc/interface.c:891:2: note: 'tm' initialized here
struct rtc_time tm;
^~~~~~~~~~~~~~~~~~
drivers/rtc/interface.c:894:3: note: Left side of '&&' is false
container_of(work, struct rtc_device, irqwork);
^
include/linux/kernel.h:495:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member)
&& \
^
drivers/rtc/interface.c:894:3: note: Taking false branch
container_of(work, struct rtc_device, irqwork);
^
include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member)
&& \
^
include/linux/build_bug.h:39:37: note: expanded from macro
'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro
'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_,
__COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro
'_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:308:3: note: expanded from macro
'__compiletime_assert'
if (!(condition))
\
^
drivers/rtc/interface.c:894:3: note: Loop condition is false.
Exiting loop
container_of(work, struct rtc_device, irqwork);
^
include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member)
&& \
^
include/linux/build_bug.h:39:37: note: expanded from macro
'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:328:2: note: expanded from macro
'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_,
__COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro
'_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:2: note: expanded from macro
'__compiletime_assert'
do {
\
^
drivers/rtc/interface.c:899:8: note: Passed-by-value struct argument
contains uninitialized data (e.g., field: 'tm_sec')
now = rtc_tm_to_ktime(tm);
^ ~~
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
drivers/input/keyboard/samsung-keypad.c:88:23: warning: The result
of the left shift is undefined because the left operand is negative
[clang-analyzer-core.UndefinedBinaryOperatorResult]
val &= ~(1 << col) << 8;
^
drivers/input/keyboard/samsung-keypad.c:158:3: note: Calling
'samsung_keypad_scan'
samsung_keypad_scan(keypad, row_state);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/keyboard/samsung-keypad.c:85:16: note: Assuming 'col'
is < field 'cols'
for (col = 0; col < keypad->cols; col++) {
vim +/ret +635 drivers/leds/blink/leds-lgm-sso.c
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 619
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 620 static int
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 621
__sso_led_dt_parse(struct sso_led_priv *priv, struct fwnode_handle
*fw_ssoled)
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 622 {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 623 struct
fwnode_handle *fwnode_child;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 624 struct
device *dev = priv->dev;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 625 struct
sso_led_desc *desc;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 626 struct
sso_led *led;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 627 struct
list_head *p;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 628 const char
*tmp;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 629 u32 prop;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 630 int ret;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 631
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 632
fwnode_for_each_child_node(fw_ssoled, fwnode_child) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 633 led =
devm_kzalloc(dev, sizeof(*led), GFP_KERNEL);
9999908ca1abee7 Andy Shevchenko 2021-05-29 634 if (!led) {
9999908ca1abee7 Andy Shevchenko 2021-05-29 @635 ret =
-ENOMEM;
9999908ca1abee7 Andy Shevchenko 2021-05-29 636 goto
__dt_err;
9999908ca1abee7 Andy Shevchenko 2021-05-29 637 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 638
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 639
INIT_LIST_HEAD(&led->list);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 640 led->priv
= priv;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 641 desc =
&led->desc;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 642
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 643
led->gpiod = devm_fwnode_get_gpiod_from_child(dev, NULL,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 644
fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 645
GPIOD_ASIS, NULL);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 646 if
(IS_ERR(led->gpiod)) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 647
dev_err(dev, "led: get gpio fail!\n");
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 648 goto
__dt_err;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 649 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 650
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 651
fwnode_property_read_string(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 652
"linux,default-trigger",
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 653
&desc->default_trigger);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 654
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 655 if
(fwnode_property_present(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 656
"retain-state-suspended"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 657
desc->retain_state_suspended = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 658
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 659 if
(fwnode_property_present(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 660
"retain-state-shutdown"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 661
desc->retain_state_shutdown = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 662
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 663 if
(fwnode_property_present(fwnode_child, "panic-indicator"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 664
desc->panic_indicator = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 665
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 666 ret =
fwnode_property_read_u32(fwnode_child, "reg", &prop);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 667 if (ret
!= 0 || prop >= SSO_LED_MAX_NUM) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 668
dev_err(dev, "invalid LED pin:%u\n", prop);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 669 goto
__dt_err;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 670 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 671 desc->pin
= prop;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 672
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 673 if
(fwnode_property_present(fwnode_child, "intel,sso-hw-blink"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 674
desc->hw_blink = 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 675
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 676
desc->hw_trig = fwnode_property_read_bool(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 677
"intel,sso-hw-trigger");
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 678 if
(desc->hw_trig) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 679
desc->default_trigger = NULL;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 680
desc->retain_state_shutdown = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 681
desc->retain_state_suspended = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 682
desc->panic_indicator = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 683
desc->hw_blink = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 684 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 685
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 686 if
(fwnode_property_read_u32(fwnode_child,
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 687
"intel,sso-blink-rate-hz", &prop)) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 688 /*
default first freq rate */
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 689
desc->freq_idx = 0;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 690
desc->blink_rate = priv->freq[desc->freq_idx];
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 691 } else {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 692
desc->freq_idx = sso_get_blink_rate_idx(priv, prop);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 693 if
(desc->freq_idx == -1)
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 694
desc->freq_idx = MAX_FREQ_RANK - 1;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 695
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 696
desc->blink_rate = priv->freq[desc->freq_idx];
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 697 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 698
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 699 if
(!fwnode_property_read_string(fwnode_child, "default-state", &tmp)) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 700 if
(!strcmp(tmp, "on"))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 701
desc->brightness = LED_FULL;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 702 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 703
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 704 if
(sso_create_led(priv, led, fwnode_child))
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 705 goto
__dt_err;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 706 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 707
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 708 return 0;
9999908ca1abee7 Andy Shevchenko 2021-05-29 709
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 710 __dt_err:
9999908ca1abee7 Andy Shevchenko 2021-05-29 711
fwnode_handle_put(fwnode_child);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 712 /*
unregister leds */
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 713
list_for_each(p, &priv->led_list) {
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 714 led =
list_entry(p, struct sso_led, list);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 715
sso_led_shutdown(led);
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 716 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 717
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 718 return
-EINVAL;
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 719 }
c3987cd2bca34dd Amireddy Mallikarjuna reddy 2020-12-10 720
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30460 bytes --]
[-- Attachment #3: AttachedMessagePart.ksh --]
[-- Type: text/plain, Size: 150 bytes --]
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-leave@lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [pavel-linux-leds:for-next 9/18] drivers/leds/blink/leds-lgm-sso.c:635:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
2021-08-05 10:36 ` kernel test robot
@ 2021-08-05 11:16 ` Andy Shevchenko
-1 siblings, 0 replies; 5+ messages in thread
From: Andy Shevchenko @ 2021-08-05 11:16 UTC (permalink / raw)
To: kernel test robot
Cc: clang-built-linux, kbuild-all, Linux LED Subsystem, Pavel Machek
On Thu, Aug 5, 2021 at 1:36 PM kernel test robot <rong.a.chen@intel.com> wrote:
>
>
> tree:
> git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git for-next
> head: 64f67b5240db79eceb0bd57dae8e591fd3103ba0
> commit: 9999908ca1abee7aa518a4f6a3739517c137acbf [9/18] leds: lgm-sso:
> Put fwnode in any case during ->probe()
> config: x86_64-randconfig-c001-20210803 (attached as .config)
> compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project
> 4f71f59bf3d9914188a11d0c41bedbb339d36ff5)
> 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
> #
> https://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git/commit/?id=9999908ca1abee7aa518a4f6a3739517c137acbf
> git remote add pavel-linux-leds
> git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
> git fetch --no-tags pavel-linux-leds for-next
> git checkout 9999908ca1abee7aa518a4f6a3739517c137acbf
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross
> ARCH=x86_64 clang-analyzer
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
Oh là là, it reveals another piece of (broken) code in that driver,
i.e. we shadow error codes when bailing out from the loop. I'll
prepare a separate fix for that, thanks!
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [pavel-linux-leds:for-next 9/18] drivers/leds/blink/leds-lgm-sso.c:635:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-08-05 11:16 ` Andy Shevchenko
0 siblings, 0 replies; 5+ messages in thread
From: Andy Shevchenko @ 2021-08-05 11:16 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 1712 bytes --]
On Thu, Aug 5, 2021 at 1:36 PM kernel test robot <rong.a.chen@intel.com> wrote:
>
>
> tree:
> git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git for-next
> head: 64f67b5240db79eceb0bd57dae8e591fd3103ba0
> commit: 9999908ca1abee7aa518a4f6a3739517c137acbf [9/18] leds: lgm-sso:
> Put fwnode in any case during ->probe()
> config: x86_64-randconfig-c001-20210803 (attached as .config)
> compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project
> 4f71f59bf3d9914188a11d0c41bedbb339d36ff5)
> 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
> #
> https://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git/commit/?id=9999908ca1abee7aa518a4f6a3739517c137acbf
> git remote add pavel-linux-leds
> git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
> git fetch --no-tags pavel-linux-leds for-next
> git checkout 9999908ca1abee7aa518a4f6a3739517c137acbf
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross
> ARCH=x86_64 clang-analyzer
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
Oh là là, it reveals another piece of (broken) code in that driver,
i.e. we shadow error codes when bailing out from the loop. I'll
prepare a separate fix for that, thanks!
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-08-05 11:16 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-04 10:07 [pavel-linux-leds:for-next 9/18] drivers/leds/blink/leds-lgm-sso.c:635:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
2021-08-05 10:36 ` kernel test robot
2021-08-05 10:36 ` kernel test robot
2021-08-05 11:16 ` Andy Shevchenko
2021-08-05 11:16 ` Andy Shevchenko
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.