All of lore.kernel.org
 help / color / mirror / Atom feed
* [bigeasy-staging:arm-locking-v2 3/4] drivers/gpio/gpio-bcm-kona.c:301:12: warning: 'res' may be used uninitialized in this function
@ 2019-10-06  1:18 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-10-06  1:18 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 5501 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/bigeasy/staging.git arm-locking-v2
head:   c6339276cd4a34957bd9ba40e0a415c8755b54aa
commit: ee1a9ea5a47977cc72768b6da279635b9d9b858a [3/4] ARM: Inline locking functions for !PREEMPTION
config: arm-multi_v7_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout ee1a9ea5a47977cc72768b6da279635b9d9b858a
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=arm 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   drivers/gpio/gpio-bcm-kona.c: In function 'bcm_kona_gpio_set_config':
>> drivers/gpio/gpio-bcm-kona.c:301:12: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
          (res << GPIO_GPCTR0_DBR_SHIFT);
          ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpio/gpio-bcm-kona.c:267:11: note: 'res' was declared here
     u32 val, res;
              ^~~

vim +/res +301 drivers/gpio/gpio-bcm-kona.c

757651e3d60e5b Markus Mayer     2013-09-10  261  
757651e3d60e5b Markus Mayer     2013-09-10  262  static int bcm_kona_gpio_set_debounce(struct gpio_chip *chip, unsigned gpio,
757651e3d60e5b Markus Mayer     2013-09-10  263  				      unsigned debounce)
757651e3d60e5b Markus Mayer     2013-09-10  264  {
757651e3d60e5b Markus Mayer     2013-09-10  265  	struct bcm_kona_gpio *kona_gpio;
757651e3d60e5b Markus Mayer     2013-09-10  266  	void __iomem *reg_base;
757651e3d60e5b Markus Mayer     2013-09-10  267  	u32 val, res;
757651e3d60e5b Markus Mayer     2013-09-10  268  	unsigned long flags;
757651e3d60e5b Markus Mayer     2013-09-10  269  
ba4a74485a32c1 Linus Walleij    2015-12-04  270  	kona_gpio = gpiochip_get_data(chip);
757651e3d60e5b Markus Mayer     2013-09-10  271  	reg_base = kona_gpio->reg_base;
757651e3d60e5b Markus Mayer     2013-09-10  272  	/* debounce must be 1-128ms (or 0) */
757651e3d60e5b Markus Mayer     2013-09-10  273  	if ((debounce > 0 && debounce < 1000) || debounce > 128000) {
58383c78425e4e Linus Walleij    2015-11-04  274  		dev_err(chip->parent, "Debounce value %u not in range\n",
757651e3d60e5b Markus Mayer     2013-09-10  275  			debounce);
757651e3d60e5b Markus Mayer     2013-09-10  276  		return -EINVAL;
757651e3d60e5b Markus Mayer     2013-09-10  277  	}
757651e3d60e5b Markus Mayer     2013-09-10  278  
757651e3d60e5b Markus Mayer     2013-09-10  279  	/* calculate debounce bit value */
757651e3d60e5b Markus Mayer     2013-09-10  280  	if (debounce != 0) {
757651e3d60e5b Markus Mayer     2013-09-10  281  		/* Convert to ms */
757651e3d60e5b Markus Mayer     2013-09-10  282  		debounce /= 1000;
757651e3d60e5b Markus Mayer     2013-09-10  283  		/* find the MSB */
757651e3d60e5b Markus Mayer     2013-09-10  284  		res = fls(debounce) - 1;
757651e3d60e5b Markus Mayer     2013-09-10  285  		/* Check if MSB-1 is set (round up or down) */
757651e3d60e5b Markus Mayer     2013-09-10  286  		if (res > 0 && (debounce & BIT(res - 1)))
757651e3d60e5b Markus Mayer     2013-09-10  287  			res++;
757651e3d60e5b Markus Mayer     2013-09-10  288  	}
757651e3d60e5b Markus Mayer     2013-09-10  289  
757651e3d60e5b Markus Mayer     2013-09-10  290  	/* spin lock for read-modify-write of the GPIO register */
c69fcea57e9d2b Julia Cartwright 2017-03-09  291  	raw_spin_lock_irqsave(&kona_gpio->lock, flags);
757651e3d60e5b Markus Mayer     2013-09-10  292  
757651e3d60e5b Markus Mayer     2013-09-10  293  	val = readl(reg_base + GPIO_CONTROL(gpio));
757651e3d60e5b Markus Mayer     2013-09-10  294  	val &= ~GPIO_GPCTR0_DBR_MASK;
757651e3d60e5b Markus Mayer     2013-09-10  295  
757651e3d60e5b Markus Mayer     2013-09-10  296  	if (debounce == 0) {
757651e3d60e5b Markus Mayer     2013-09-10  297  		/* disable debounce */
757651e3d60e5b Markus Mayer     2013-09-10  298  		val &= ~GPIO_GPCTR0_DB_ENABLE_MASK;
757651e3d60e5b Markus Mayer     2013-09-10  299  	} else {
757651e3d60e5b Markus Mayer     2013-09-10  300  		val |= GPIO_GPCTR0_DB_ENABLE_MASK |
757651e3d60e5b Markus Mayer     2013-09-10 @301  		    (res << GPIO_GPCTR0_DBR_SHIFT);
757651e3d60e5b Markus Mayer     2013-09-10  302  	}
757651e3d60e5b Markus Mayer     2013-09-10  303  
757651e3d60e5b Markus Mayer     2013-09-10  304  	writel(val, reg_base + GPIO_CONTROL(gpio));
757651e3d60e5b Markus Mayer     2013-09-10  305  
c69fcea57e9d2b Julia Cartwright 2017-03-09  306  	raw_spin_unlock_irqrestore(&kona_gpio->lock, flags);
757651e3d60e5b Markus Mayer     2013-09-10  307  
757651e3d60e5b Markus Mayer     2013-09-10  308  	return 0;
757651e3d60e5b Markus Mayer     2013-09-10  309  }
757651e3d60e5b Markus Mayer     2013-09-10  310  

:::::: The code at line 301 was first introduced by commit
:::::: 757651e3d60e5bff705743a301d64035b919fd03 gpio: bcm281xx: Add GPIO driver

:::::: TO: Markus Mayer <mmayer@broadcom.com>
:::::: CC: Linus Walleij <linus.walleij@linaro.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 48544 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-10-06  1:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-06  1:18 [bigeasy-staging:arm-locking-v2 3/4] drivers/gpio/gpio-bcm-kona.c:301:12: warning: 'res' may be used uninitialized in this function kbuild test robot

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.