interconnect: qcom: Convert to platform remove callback returning void
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Sun, 15 Oct 2023 13:59:56 +0000 (15:59 +0200)
committerGeorgi Djakov <djakov@kernel.org>
Wed, 18 Oct 2023 10:37:39 +0000 (13:37 +0300)
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Several drivers use qcom_icc_rpmh_remove() as remove callback which
returns zero unconditionally. Make it return void and use .remove_new in
the drivers. There is no change in behaviour.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20231015135955.1537751-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Georgi Djakov <djakov@kernel.org>
19 files changed:
drivers/interconnect/qcom/icc-rpmh.c
drivers/interconnect/qcom/icc-rpmh.h
drivers/interconnect/qcom/qdu1000.c
drivers/interconnect/qcom/sa8775p.c
drivers/interconnect/qcom/sc7180.c
drivers/interconnect/qcom/sc7280.c
drivers/interconnect/qcom/sc8180x.c
drivers/interconnect/qcom/sc8280xp.c
drivers/interconnect/qcom/sdm670.c
drivers/interconnect/qcom/sdm845.c
drivers/interconnect/qcom/sdx55.c
drivers/interconnect/qcom/sdx65.c
drivers/interconnect/qcom/sdx75.c
drivers/interconnect/qcom/sm6350.c
drivers/interconnect/qcom/sm8150.c
drivers/interconnect/qcom/sm8250.c
drivers/interconnect/qcom/sm8350.c
drivers/interconnect/qcom/sm8450.c
drivers/interconnect/qcom/sm8550.c

index b9f27ce3b6075ccb89c239c5ef97703c137c07d0..c1aa265c1f4efc5dc8ff7569d66cfbb0635248ce 100644 (file)
@@ -253,14 +253,12 @@ err_remove_nodes:
 }
 EXPORT_SYMBOL_GPL(qcom_icc_rpmh_probe);
 
-int qcom_icc_rpmh_remove(struct platform_device *pdev)
+void qcom_icc_rpmh_remove(struct platform_device *pdev)
 {
        struct qcom_icc_provider *qp = platform_get_drvdata(pdev);
 
        icc_provider_deregister(&qp->provider);
        icc_nodes_remove(&qp->provider);
-
-       return 0;
 }
 EXPORT_SYMBOL_GPL(qcom_icc_rpmh_remove);
 
index 5f0af8b1fc4393da77d135a80629cadc891a163a..2de29460e808246b91a6eeb43e4d18e4f1c5f422 100644 (file)
@@ -126,6 +126,6 @@ int qcom_icc_set(struct icc_node *src, struct icc_node *dst);
 int qcom_icc_bcm_init(struct qcom_icc_bcm *bcm, struct device *dev);
 void qcom_icc_pre_aggregate(struct icc_node *node);
 int qcom_icc_rpmh_probe(struct platform_device *pdev);
-int qcom_icc_rpmh_remove(struct platform_device *pdev);
+void qcom_icc_rpmh_remove(struct platform_device *pdev);
 
 #endif
index bf800dd7d4ba1c3a90f4cfa7e95e61df229e7168..4a5089002364cd5eed1885c95b489786fbd17763 100644 (file)
@@ -1045,7 +1045,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qnoc_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-qdu1000",
                .of_match_table = qnoc_of_match,
index ef1b5e326089de58a25ec632baa1edf4263c1d76..dd6281db08adff9545fb33ceaa824585bf1a3aee 100644 (file)
@@ -2519,7 +2519,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sa8775p",
                .of_match_table = qnoc_of_match,
index d94ab9b39f3dbbd2b78416aac8cc69a278d9025f..3f1a0f358e0d2505ab8c4f49429ea7a3e453ac64 100644 (file)
@@ -1806,7 +1806,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sc7180",
                .of_match_table = qnoc_of_match,
index 6592839b4d94b392f4919f1afaf5cd3ad24c04f5..6292af8242d491045e01f114a15626dbe7afaaca 100644 (file)
@@ -1834,7 +1834,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sc7280",
                .of_match_table = qnoc_of_match,
index 0fb4898dabcfefeec04de1f4a438fba03e77be6b..6eaf4e1e438400e8f7bb66b497d473da002a93bf 100644 (file)
@@ -1887,7 +1887,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sc8180x",
                .of_match_table = qnoc_of_match,
index b82c5493cbb56656ef46f6d4535b116f67f0c3e6..633b5740b9a3903c01c733a8782c478650e6d51b 100644 (file)
@@ -2390,7 +2390,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sc8280xp",
                .of_match_table = qnoc_of_match,
index 540a2108b77c1ce176947ebfef75fdfdcb2d4f46..900ee47b2b87040aae8eb3c73bb6e7c8b552341a 100644 (file)
@@ -1532,7 +1532,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sdm670",
                .of_match_table = qnoc_of_match,
index b9243c0aa626ccf60d8918c1b58fce1c3def2936..5176addf347b567233f43be530bc96323bdc1afd 100644 (file)
@@ -1801,7 +1801,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sdm845",
                .of_match_table = qnoc_of_match,
index 4117db046fa00c634a43d9287711589315f60210..e97f28b8d2b25d0b95de0008c59306fe4f1d5dc7 100644 (file)
@@ -913,7 +913,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sdx55",
                .of_match_table = qnoc_of_match,
index d3a6c6c148e5dedc95dbac3ad9b20538ce56a16d..2f3f5479d8a51350be37263ce9e357ec31895fce 100644 (file)
@@ -897,7 +897,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sdx65",
                .of_match_table = qnoc_of_match,
index 7ef1f17f3292e15959cb06e3d8d8c5f3c6ecd060..7f422c27488d3321532fcdd70ea3af99cc943df2 100644 (file)
@@ -1083,7 +1083,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sdx75",
                .of_match_table = qnoc_of_match,
index 49aed492e9b807cc563d32e09d96efb53f050730..f1907cb9891f89f0a8102e6d039b02e2d2ad988d 100644 (file)
@@ -1701,7 +1701,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sm6350",
                .of_match_table = qnoc_of_match,
index c7c9cf7f746b0536235404127f935ab07ca1a9e8..ce2ebbd404f6b5b6efab1d12dfa030a5a1d4a5de 100644 (file)
@@ -1863,7 +1863,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sm8150",
                .of_match_table = qnoc_of_match,
index d4a4ecef11f0105d485dba441eb067d43b92f8f4..4db468f3ec39719ff1dfdf5cc0f39162570ffcb6 100644 (file)
@@ -1990,7 +1990,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sm8250",
                .of_match_table = qnoc_of_match,
index bdf75839e6d1771e3d12baa6cb7bc38879b648cb..046e20046054a9c270d72b0a4617c7aa0bb31f9b 100644 (file)
@@ -1960,7 +1960,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sm8350",
                .of_match_table = qnoc_of_match,
index eb7e17df32ba656cf1934e0fc112189966b22ac2..b3cd0087377ca7ca4b0492e5e049af4561ed8d43 100644 (file)
@@ -1884,7 +1884,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sm8450",
                .of_match_table = qnoc_of_match,
index a10c8b6549ee6a8c25874240548d3073f4f43215..629faa4c9aaee280e7514695dcd2c96e9125d1dd 100644 (file)
@@ -2219,7 +2219,7 @@ MODULE_DEVICE_TABLE(of, qnoc_of_match);
 
 static struct platform_driver qnoc_driver = {
        .probe = qcom_icc_rpmh_probe,
-       .remove = qcom_icc_rpmh_remove,
+       .remove_new = qcom_icc_rpmh_remove,
        .driver = {
                .name = "qnoc-sm8550",
                .of_match_table = qnoc_of_match,