arm: exynos: Squash bogus warnings in pinmux
authorMarek Vasut <marex@denx.de>
Mon, 10 Mar 2014 19:04:31 +0000 (20:04 +0100)
committerMinkyu Kang <mk7.kang@samsung.com>
Thu, 13 Mar 2014 00:46:57 +0000 (09:46 +0900)
Squash these warnings in pinmux.c found with GCC 4.8:

/arch/arm/cpu/armv7/exynos/pinmux.c: In function 'exynos_pinmux_config':
/arch/arm/cpu/armv7/exynos/pinmux.c:687:28: warning: 'count' may be used uninitialized in this function [-Wmaybe-uninitialized]
  for (i = start; i < start + count; i++) {
                            ^
/arch/arm/cpu/armv7/exynos/pinmux.c:663:16: note: 'count' was declared here
  int i, start, count;
                ^
/arch/arm/cpu/armv7/exynos/pinmux.c:687:28: warning: 'start' may be used uninitialized in this function [-Wmaybe-uninitialized]
  for (i = start; i < start + count; i++) {
                            ^
/arch/arm/cpu/armv7/exynos/pinmux.c:663:9: note: 'start' was declared here
  int i, start, count;
         ^
/arch/arm/cpu/armv7/exynos/pinmux.c:689:19: warning: 'bank' may be used uninitialized in this function [-Wmaybe-uninitialized]
   s5p_gpio_cfg_pin(bank, i, GPIO_FUNC(0x2));
                   ^
/arch/arm/cpu/armv7/exynos/pinmux.c:662:24: note: 'bank' was declared here
  struct s5p_gpio_bank *bank;
                        ^
/arch/arm/cpu/armv7/exynos/pinmux.c: In function 'exynos_pinmux_config':
/arch/arm/cpu/armv7/exynos/pinmux.c:687:28: warning: 'count' may be used uninitialized in this function [-Wmaybe-uninitialized]
  for (i = start; i < start + count; i++) {
                            ^
/arch/arm/cpu/armv7/exynos/pinmux.c:663:16: note: 'count' was declared here
  int i, start, count;
                ^
/arch/arm/cpu/armv7/exynos/pinmux.c:687:28: warning: 'start' may be used uninitialized in this function [-Wmaybe-uninitialized]
  for (i = start; i < start + count; i++) {
                            ^
/arch/arm/cpu/armv7/exynos/pinmux.c:663:9: note: 'start' was declared here
  int i, start, count;
         ^
/arch/arm/cpu/armv7/exynos/pinmux.c:689:19: warning: 'bank' may be used uninitialized in this function [-Wmaybe-uninitialized]
   s5p_gpio_cfg_pin(bank, i, GPIO_FUNC(0x2));
                   ^
/arch/arm/cpu/armv7/exynos/pinmux.c:662:24: note: 'bank' was declared here
  struct s5p_gpio_bank *bank;
                        ^

Note that the warning is bogus, the function can never be called with invalid
'peripheral' argument. GCC just cannot analyze this.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
Cc: Akshay Saraswat <akshay.s@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Rajeshwari S Shinde <rajeshwari.s@samsung.com>
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
arch/arm/cpu/armv7/exynos/pinmux.c

index 8d6e5c1..9edb475 100644 (file)
@@ -39,6 +39,9 @@ static void exynos5_uart_config(int peripheral)
                start = 4;
                count = 2;
                break;
                start = 4;
                count = 2;
                break;
+       default:
+               debug("%s: invalid peripheral %d", __func__, peripheral);
+               return;
        }
        for (i = start; i < start + count; i++) {
                s5p_gpio_set_pull(bank, i, GPIO_PULL_NONE);
        }
        for (i = start; i < start + count; i++) {
                s5p_gpio_set_pull(bank, i, GPIO_PULL_NONE);
@@ -74,6 +77,9 @@ static void exynos5420_uart_config(int peripheral)
                start = 4;
                count = 2;
                break;
                start = 4;
                count = 2;
                break;
+       default:
+               debug("%s: invalid peripheral %d", __func__, peripheral);
+               return;
        }
 
        for (i = start; i < start + count; i++) {
        }
 
        for (i = start; i < start + count; i++) {
@@ -110,6 +116,9 @@ static int exynos5_mmc_config(int peripheral, int flags)
                bank = &gpio1->c4;
                bank_ext = NULL;
                break;
                bank = &gpio1->c4;
                bank_ext = NULL;
                break;
+       default:
+               debug("%s: invalid peripheral %d", __func__, peripheral);
+               return -1;
        }
        if ((flags & PINMUX_FLAG_8BIT_MODE) && !bank_ext) {
                debug("SDMMC device %d does not support 8bit mode",
        }
        if ((flags & PINMUX_FLAG_8BIT_MODE) && !bank_ext) {
                debug("SDMMC device %d does not support 8bit mode",
@@ -683,6 +692,9 @@ static void exynos4_uart_config(int peripheral)
                start = 4;
                count = 2;
                break;
                start = 4;
                count = 2;
                break;
+       default:
+               debug("%s: invalid peripheral %d", __func__, peripheral);
+               return;
        }
        for (i = start; i < start + count; i++) {
                s5p_gpio_set_pull(bank, i, GPIO_PULL_NONE);
        }
        for (i = start; i < start + count; i++) {
                s5p_gpio_set_pull(bank, i, GPIO_PULL_NONE);