return -EINVAL;
}
- ctlr = spi_alloc_host(&pdev->dev, sizeof(*hspi));
+ ctlr = devm_spi_alloc_host(&pdev->dev, sizeof(*hspi));
if (!ctlr)
return -ENOMEM;
clk = clk_get(&pdev->dev, NULL);
if (IS_ERR(clk)) {
dev_err(&pdev->dev, "couldn't get clock\n");
- ret = -EINVAL;
- goto error0;
+ return PTR_ERR(clk);
}
hspi = spi_controller_get_devdata(ctlr);
pm_runtime_disable(&pdev->dev);
error1:
clk_put(clk);
- error0:
- spi_controller_put(ctlr);
return ret;
}
{
struct hspi_priv *hspi = platform_get_drvdata(pdev);
- spi_controller_get(hspi->ctlr);
-
spi_unregister_controller(hspi->ctlr);
pm_runtime_disable(&pdev->dev);
clk_put(hspi->clk);
-
- spi_controller_put(hspi->ctlr);
}
static const struct of_device_id hspi_of_match[] = {