All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.