]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
spi: synquacer: Silence uninitialized variable warnings
authorIlias Apalodimas <ilias.apalodimas@linaro.org>
Fri, 7 Apr 2023 09:13:00 +0000 (12:13 +0300)
committerJagan Teki <jagan@amarulasolutions.com>
Tue, 25 Apr 2023 17:36:10 +0000 (23:06 +0530)
When building with clang, the compiler compains with

drivers/spi/spi-synquacer.c:212:11: warning: variable 'bus_width' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
        else if (priv->mode & SPI_TX_OCTAL)
                 ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/spi/spi-synquacer.c:276:11: note: uninitialized use occurs here
        val |= ((bus_width >> 1) << BUS_WIDTH);
                 ^~~~~~~~~
drivers/spi/spi-synquacer.c:212:7: note: remove the 'if' if its condition is always true
        else if (priv->mode & SPI_TX_OCTAL)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/spi/spi-synquacer.c:189:25: note: initialize the variable 'bus_width' to silence this warning

So initialize bus_width to 1 and add a warning if none of the configured
modes matches

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Jassi Brar <jaswinder.singh@linaro.org>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
drivers/spi/spi-synquacer.c

index 0cae3dfc778fad1f5f7140b528d81e5c130fc69a..0f5d0a30c39df873336be28364320864bd8e822b 100644 (file)
@@ -186,7 +186,7 @@ static void synquacer_spi_config(struct udevice *dev, void *rx, const void *tx)
        struct udevice *bus = dev->parent;
        struct synquacer_spi_priv *priv = dev_get_priv(bus);
        struct dm_spi_slave_plat *slave_plat = dev_get_parent_plat(dev);
-       u32 val, div, bus_width;
+       u32 val, div, bus_width = 1;
        int rwflag;
 
        rwflag = (rx ? 1 : 0) | (tx ? 2 : 0);
@@ -211,6 +211,8 @@ static void synquacer_spi_config(struct udevice *dev, void *rx, const void *tx)
                bus_width = 4;
        else if (priv->mode & SPI_TX_OCTAL)
                bus_width = 8;
+       else
+               log_warning("SPI mode not configured, setting to byte mode\n");
 
        div = DIV_ROUND_UP(125000000, priv->speed);