spi: lp-8841: return correct error code from probe
authorArnd Bergmann <arnd@arndb.de>
Thu, 25 Feb 2016 11:37:40 +0000 (12:37 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 26 Feb 2016 02:06:38 +0000 (11:06 +0900)
The spi_lp8841_rtc_probe() function misses an initialization of the
return code when it fails to get its memory resource, as gcc notices:

drivers/spi/spi-lp8841-rtc.c: In function 'spi_lp8841_rtc_probe':
drivers/spi/spi-lp8841-rtc.c:239:9: error: 'ret' may be used uninitialized in this function [-Werror=maybe-uninitialized]

This changes the code to propagate the error from devm_ioremap_resource().

Fixes: 7ecbfff6711f ("spi: master driver to enable RTC on ICPDAS LP-8841")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Sergei Ianovich <ynvich@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-lp8841-rtc.c

index 44bb69c..faa577d 100644 (file)
@@ -217,8 +217,9 @@ spi_lp8841_rtc_probe(struct platform_device *pdev)
        data = spi_master_get_devdata(master);
 
        iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       data->iomem =  devm_ioremap_resource(&pdev->dev, iomem);
-       if (IS_ERR(data->iomem)) {
+       data->iomem = devm_ioremap_resource(&pdev->dev, iomem);
+       ret = PTR_ERR_OR_ZERO(data->iomem);
+       if (ret) {
                dev_err(&pdev->dev, "failed to get IO address\n");
                goto err_put_master;
        }