Unverified Commit 14af1df3 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Mark Brown
Browse files

spi: pxa2xx: Return error codes from pxa2xx_spi_init_pdata()



For better understanding what's going on on error path,
return distinguished error codes instead of NULL pointer.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20200224154556.11627-1-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent c046f8fd
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -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);
		}
	}