[4.19,352/422] slimbus: ngd: register ngd driver only once.

Message ID 20191119051421.826714842@linuxfoundation.org
State New
Headers show
Series
  • Untitled series #25072
Related show

Commit Message

Greg Kroah-Hartman Nov. 19, 2019, 5:19 a.m.
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>


[ Upstream commit 1830dad34c070161fda2ff1db77b39ffa78aa380 ]

Move ngd platform driver out of loop so that it registers only once.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Sasha Levin <sashal@kernel.org>

---
 drivers/slimbus/qcom-ngd-ctrl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.20.1

Comments

Pavel Machek Nov. 20, 2019, 12:31 p.m. | #1
On Tue 2019-11-19 06:19:09, Greg Kroah-Hartman wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

> 

> [ Upstream commit 1830dad34c070161fda2ff1db77b39ffa78aa380 ]

> 

> Move ngd platform driver out of loop so that it registers only once.


AFAICT driver_register is immediately followed by "return", so it was
already registered only once before you patched it.

I don't think this should be in stable.

Best regards,
								Pavel

> +++ b/drivers/slimbus/qcom-ngd-ctrl.c

> @@ -1346,7 +1346,6 @@ static int of_qcom_slim_ngd_register(struct device *parent,

>  		ngd->base = ctrl->base + ngd->id * data->offset +

>  					(ngd->id - 1) * data->size;

>  		ctrl->ngd = ngd;

> -		platform_driver_register(&qcom_slim_ngd_driver);

>  

>  		return 0;

>  	}

> @@ -1445,6 +1444,7 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_device *pdev)

>  	init_completion(&ctrl->reconf);

>  	init_completion(&ctrl->qmi.qmi_comp);

>  

> +	platform_driver_register(&qcom_slim_ngd_driver);

>  	return of_qcom_slim_ngd_register(dev, ctrl);

>  }

>  


-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Patch

diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
index f63d1b8a09335..a9abde2f4088b 100644
--- a/drivers/slimbus/qcom-ngd-ctrl.c
+++ b/drivers/slimbus/qcom-ngd-ctrl.c
@@ -1346,7 +1346,6 @@  static int of_qcom_slim_ngd_register(struct device *parent,
 		ngd->base = ctrl->base + ngd->id * data->offset +
 					(ngd->id - 1) * data->size;
 		ctrl->ngd = ngd;
-		platform_driver_register(&qcom_slim_ngd_driver);
 
 		return 0;
 	}
@@ -1445,6 +1444,7 @@  static int qcom_slim_ngd_ctrl_probe(struct platform_device *pdev)
 	init_completion(&ctrl->reconf);
 	init_completion(&ctrl->qmi.qmi_comp);
 
+	platform_driver_register(&qcom_slim_ngd_driver);
 	return of_qcom_slim_ngd_register(dev, ctrl);
 }