spi: rcar: Fix pointer cast in the remove function
The platform driver data is set to point to the rspi_data structure at probe time. Calling spi_master_get() on the pointer is just plain wrong and only works by chance. Fix it by using the platform driver data directly. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
8e1c8096fa
commit
5ffbe2d90d
|
@ -885,14 +885,13 @@ static void rspi_release_dma(struct rspi_data *rspi)
|
||||||
|
|
||||||
static int rspi_remove(struct platform_device *pdev)
|
static int rspi_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct rspi_data *rspi = spi_master_get(platform_get_drvdata(pdev));
|
struct rspi_data *rspi = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
spi_unregister_master(rspi->master);
|
spi_unregister_master(rspi->master);
|
||||||
rspi_release_dma(rspi);
|
rspi_release_dma(rspi);
|
||||||
free_irq(platform_get_irq(pdev, 0), rspi);
|
free_irq(platform_get_irq(pdev, 0), rspi);
|
||||||
clk_put(rspi->clk);
|
clk_put(rspi->clk);
|
||||||
iounmap(rspi->addr);
|
iounmap(rspi->addr);
|
||||||
spi_master_put(rspi->master);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue