* [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.