iio: adc: ina2xx: add in early -EINVAL returns in case statements
authorColin Ian King <colin.king@canonical.com>
Tue, 16 Oct 2018 16:14:18 +0000 (17:14 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 21 Oct 2018 14:43:11 +0000 (15:43 +0100)
Static analysis with CoverityScan is throwing warnings that specific
case statements are missing breaks.  Rather than adding breaks, add
return -EINVAL to the specific case statements to clarify the
error return paths. Fix also saves 50 bytes.

Before:
   text    data     bss     dec     hex filename
  21418    4936     128   26482    6772 drivers/iio/adc/ina2xx-adc.o

After:
  dec     hex filename
  21370    4936     128   26434    6742 drivers/iio/adc/ina2xx-adc.o

(gcc 8.2, x86-64)

Detected by CoverityScan, CID#1462408 ("Missing break in switch")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Stefan BrĂ¼ns <stefan.bruens@rwth-aachen.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/ina2xx-adc.c

index d1239624187da1997c44c8ba7400f549568b39ff..bdd7cba6f6b0b63f431612e75d169fda13576249 100644 (file)
@@ -250,6 +250,7 @@ static int ina2xx_read_raw(struct iio_dev *indio_dev,
                        *val2 = chip->shunt_resistor_uohm;
                        return IIO_VAL_FRACTIONAL;
                }
+               return -EINVAL;
 
        case IIO_CHAN_INFO_HARDWAREGAIN:
                switch (chan->address) {
@@ -262,6 +263,7 @@ static int ina2xx_read_raw(struct iio_dev *indio_dev,
                        *val = chip->range_vbus == 32 ? 1 : 2;
                        return IIO_VAL_INT;
                }
+               return -EINVAL;
        }
 
        return -EINVAL;