aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgi Djakov <georgi.djakov@linaro.org>2019-11-19 13:01:49 +0200
committerGeorgi Djakov <georgi.djakov@linaro.org>2019-11-25 12:22:28 +0200
commit815690af9c0d92ad967d1d8ba68a8b927c8c04c8 (patch)
treec6abec4930fd6de21dba9c31ef189192149756b7
parent445141ea36d519a254eacc14ab676b949c018054 (diff)
interconnect: qcom: Use the new common helper for node removal
There is a new helper function for removing all nodes. Let's use it instead of duplicating the code. Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
-rw-r--r--drivers/interconnect/qcom/msm8974.c10
-rw-r--r--drivers/interconnect/qcom/qcs404.c10
-rw-r--r--drivers/interconnect/qcom/sdm845.c10
3 files changed, 6 insertions, 24 deletions
diff --git a/drivers/interconnect/qcom/msm8974.c b/drivers/interconnect/qcom/msm8974.c
index 33a424f96095..8823dce811c3 100644
--- a/drivers/interconnect/qcom/msm8974.c
+++ b/drivers/interconnect/qcom/msm8974.c
@@ -647,16 +647,10 @@ static int msm8974_icc_set(struct icc_node *src, struct icc_node *dst)
static int msm8974_icc_remove(struct platform_device *pdev)
{
struct msm8974_icc_provider *qp = platform_get_drvdata(pdev);
- struct icc_provider *provider = &qp->provider;
- struct icc_node *n, *tmp;
- list_for_each_entry_safe(n, tmp, &provider->nodes, node_list) {
- icc_node_del(n);
- icc_node_destroy(n->id);
- }
+ icc_nodes_remove(&qp->provider);
clk_bulk_disable_unprepare(qp->num_clks, qp->bus_clks);
-
- return icc_provider_del(provider);
+ return icc_provider_del(&qp->provider);
}
static int msm8974_icc_probe(struct platform_device *pdev)
diff --git a/drivers/interconnect/qcom/qcs404.c b/drivers/interconnect/qcom/qcs404.c
index c6008281380f..a4c6ba715f61 100644
--- a/drivers/interconnect/qcom/qcs404.c
+++ b/drivers/interconnect/qcom/qcs404.c
@@ -409,16 +409,10 @@ static int qcom_icc_set(struct icc_node *src, struct icc_node *dst)
static int qnoc_remove(struct platform_device *pdev)
{
struct qcom_icc_provider *qp = platform_get_drvdata(pdev);
- struct icc_provider *provider = &qp->provider;
- struct icc_node *n, *tmp;
- list_for_each_entry_safe_reverse(n, tmp, &provider->nodes, node_list) {
- icc_node_del(n);
- icc_node_destroy(n->id);
- }
clk_bulk_disable_unprepare(qp->num_clks, qp->bus_clks);
-
- return icc_provider_del(provider);
+ icc_nodes_remove(&qp->provider);
+ return icc_provider_del(&qp->provider);
}
static int qnoc_probe(struct platform_device *pdev)
diff --git a/drivers/interconnect/qcom/sdm845.c b/drivers/interconnect/qcom/sdm845.c
index dff3fb5b608c..2b8f13e78471 100644
--- a/drivers/interconnect/qcom/sdm845.c
+++ b/drivers/interconnect/qcom/sdm845.c
@@ -771,15 +771,9 @@ static int cmp_vcd(const void *_l, const void *_r)
static int qnoc_remove(struct platform_device *pdev)
{
struct qcom_icc_provider *qp = platform_get_drvdata(pdev);
- struct icc_provider *provider = &qp->provider;
- struct icc_node *n, *tmp;
- list_for_each_entry_safe_reverse(n, tmp, &provider->nodes, node_list) {
- icc_node_del(n);
- icc_node_destroy(n->id);
- }
-
- return icc_provider_del(provider);
+ icc_nodes_remove(&qp->provider);
+ return icc_provider_del(&qp->provider);
}
static int qnoc_probe(struct platform_device *pdev)