spi: pxa2xx: Return error codes from pxa2xx_spi_init_pdata()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 24 Feb 2020 15:45:55 +0000 (17:45 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 24 Feb 2020 22:19:27 +0000 (22:19 +0000)
For better understanding what's going on on error path,
return distinguished error codes instead of NULL pointer.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20200224154556.11627-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-pxa2xx.c

index 4c7a71f..934bfe2 100644 (file)
@@ -1548,18 +1548,18 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev)
        else if (pcidev_id)
                type = (enum pxa_ssp_type)pcidev_id->driver_data;
        else
-               return NULL;
+               return ERR_PTR(-EINVAL);
 
        pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
        if (!pdata)
-               return NULL;
+               return ERR_PTR(-ENOMEM);
 
        ssp = &pdata->ssp;
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        ssp->mmio_base = devm_ioremap_resource(&pdev->dev, res);
        if (IS_ERR(ssp->mmio_base))
-               return NULL;
+               return ERR_CAST(ssp->mmio_base);
 
        ssp->phys_base = res->start;
 
@@ -1573,11 +1573,11 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev)
 
        ssp->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(ssp->clk))
-               return NULL;
+               return ERR_CAST(ssp->clk);
 
        ssp->irq = platform_get_irq(pdev, 0);
        if (ssp->irq < 0)
-               return NULL;
+               return ERR_PTR(ssp->irq);
 
        ssp->type = type;
        ssp->dev = &pdev->dev;
@@ -1634,9 +1634,9 @@ static int pxa2xx_spi_probe(struct platform_device *pdev)
        platform_info = dev_get_platdata(dev);
        if (!platform_info) {
                platform_info = pxa2xx_spi_init_pdata(pdev);
-               if (!platform_info) {
+               if (IS_ERR(platform_info)) {
                        dev_err(&pdev->dev, "missing platform data\n");
-                       return -ENODEV;
+                       return PTR_ERR(platform_info);
                }
        }