Skip to content

Commit 43bac51

Browse files
committed
spi: qup: Convert to platform remove callback
Merge series from Uwe Kleine-König <u.kleine-koenig@pengutronix.de>: After fixing the error handling in the .remove() callback of the qup driver, convert it to .remove_new() preparing to make platform driver's remove functions return void.
2 parents 69d286c + dea8e70 commit 43bac51

1 file changed

Lines changed: 15 additions & 13 deletions

File tree

drivers/spi/spi-qup.c

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1270,29 +1270,31 @@ static int spi_qup_resume(struct device *device)
12701270
}
12711271
#endif /* CONFIG_PM_SLEEP */
12721272

1273-
static int spi_qup_remove(struct platform_device *pdev)
1273+
static void spi_qup_remove(struct platform_device *pdev)
12741274
{
12751275
struct spi_master *master = dev_get_drvdata(&pdev->dev);
12761276
struct spi_qup *controller = spi_master_get_devdata(master);
12771277
int ret;
12781278

1279-
ret = pm_runtime_resume_and_get(&pdev->dev);
1280-
if (ret < 0)
1281-
return ret;
1279+
ret = pm_runtime_get_sync(&pdev->dev);
12821280

1283-
ret = spi_qup_set_state(controller, QUP_STATE_RESET);
1284-
if (ret)
1285-
return ret;
1281+
if (ret >= 0) {
1282+
ret = spi_qup_set_state(controller, QUP_STATE_RESET);
1283+
if (ret)
1284+
dev_warn(&pdev->dev, "failed to reset controller (%pe)\n",
1285+
ERR_PTR(ret));
12861286

1287-
spi_qup_release_dma(master);
1287+
clk_disable_unprepare(controller->cclk);
1288+
clk_disable_unprepare(controller->iclk);
1289+
} else {
1290+
dev_warn(&pdev->dev, "failed to resume, skip hw disable (%pe)\n",
1291+
ERR_PTR(ret));
1292+
}
12881293

1289-
clk_disable_unprepare(controller->cclk);
1290-
clk_disable_unprepare(controller->iclk);
1294+
spi_qup_release_dma(master);
12911295

12921296
pm_runtime_put_noidle(&pdev->dev);
12931297
pm_runtime_disable(&pdev->dev);
1294-
1295-
return 0;
12961298
}
12971299

12981300
static const struct of_device_id spi_qup_dt_match[] = {
@@ -1317,7 +1319,7 @@ static struct platform_driver spi_qup_driver = {
13171319
.of_match_table = spi_qup_dt_match,
13181320
},
13191321
.probe = spi_qup_probe,
1320-
.remove = spi_qup_remove,
1322+
.remove_new = spi_qup_remove,
13211323
};
13221324
module_platform_driver(spi_qup_driver);
13231325

0 commit comments

Comments
 (0)