Re: [PATCH] thermal: broadcom: use devm_thermal_zone_of_sensor_register

2018-10-30 Thread Daniel Lezcano
On 30/10/2018 17:08, Julia Lawall wrote:
> Using devm_thermal_zone_of_sensor_register allows to simplify some
> error handling code, drop a label, and drop the remove function.
> 
> Signed-off-by: Julia Lawall 

Reviewed-by: Daniel Lezcano 

> ---
> 
> This patch is completely orthogonal to the recent constification
> patch.
> 
>  drivers/thermal/broadcom/brcmstb_thermal.c |   24 
>  1 file changed, 4 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/thermal/broadcom/brcmstb_thermal.c 
> b/drivers/thermal/broadcom/brcmstb_thermal.c
> index 1919f91fa756..956eef8717bb 100644
> --- a/drivers/thermal/broadcom/brcmstb_thermal.c
> +++ b/drivers/thermal/broadcom/brcmstb_thermal.c
> @@ -329,7 +329,8 @@ static int brcmstb_thermal_probe(struct platform_device 
> *pdev)
>   priv->dev = >dev;
>   platform_set_drvdata(pdev, priv);
>  
> - thermal = thermal_zone_of_sensor_register(>dev, 0, priv, _ops);
> + thermal = devm_thermal_zone_of_sensor_register(>dev, 0, priv,
> +_ops);
>   if (IS_ERR(thermal)) {
>   ret = PTR_ERR(thermal);
>   dev_err(>dev, "could not register sensor: %d\n", ret);
> @@ -341,40 +342,23 @@ static int brcmstb_thermal_probe(struct platform_device 
> *pdev)
>   irq = platform_get_irq(pdev, 0);
>   if (irq < 0) {
>   dev_err(>dev, "could not get IRQ\n");
> - ret = irq;
> - goto err;
> + return irq;
>   }
>   ret = devm_request_threaded_irq(>dev, irq, NULL,
>   brcmstb_tmon_irq_thread, IRQF_ONESHOT,
>   DRV_NAME, priv);
>   if (ret < 0) {
>   dev_err(>dev, "could not request IRQ: %d\n", ret);
> - goto err;
> + return ret;
>   }
>  
>   dev_info(>dev, "registered AVS TMON of-sensor driver\n");
>  
>   return 0;
> -
> -err:
> - thermal_zone_of_sensor_unregister(>dev, thermal);
> - return ret;
> -}
> -
> -static int brcmstb_thermal_exit(struct platform_device *pdev)
> -{
> - struct brcmstb_thermal_priv *priv = platform_get_drvdata(pdev);
> - struct thermal_zone_device *thermal = priv->thermal;
> -
> - if (thermal)
> - thermal_zone_of_sensor_unregister(>dev, priv->thermal);
> -
> - return 0;
>  }
>  
>  static struct platform_driver brcmstb_thermal_driver = {
>   .probe = brcmstb_thermal_probe,
> - .remove = brcmstb_thermal_exit,
>   .driver = {
>   .name = DRV_NAME,
>   .of_match_table = brcmstb_thermal_id_table,
> 


-- 
  Linaro.org │ Open source software for ARM SoCs

Follow Linaro:   Facebook |
 Twitter |
 Blog



Re: [PATCH] thermal: broadcom: use devm_thermal_zone_of_sensor_register

2018-10-30 Thread Daniel Lezcano
On 30/10/2018 17:08, Julia Lawall wrote:
> Using devm_thermal_zone_of_sensor_register allows to simplify some
> error handling code, drop a label, and drop the remove function.
> 
> Signed-off-by: Julia Lawall 

Reviewed-by: Daniel Lezcano 

> ---
> 
> This patch is completely orthogonal to the recent constification
> patch.
> 
>  drivers/thermal/broadcom/brcmstb_thermal.c |   24 
>  1 file changed, 4 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/thermal/broadcom/brcmstb_thermal.c 
> b/drivers/thermal/broadcom/brcmstb_thermal.c
> index 1919f91fa756..956eef8717bb 100644
> --- a/drivers/thermal/broadcom/brcmstb_thermal.c
> +++ b/drivers/thermal/broadcom/brcmstb_thermal.c
> @@ -329,7 +329,8 @@ static int brcmstb_thermal_probe(struct platform_device 
> *pdev)
>   priv->dev = >dev;
>   platform_set_drvdata(pdev, priv);
>  
> - thermal = thermal_zone_of_sensor_register(>dev, 0, priv, _ops);
> + thermal = devm_thermal_zone_of_sensor_register(>dev, 0, priv,
> +_ops);
>   if (IS_ERR(thermal)) {
>   ret = PTR_ERR(thermal);
>   dev_err(>dev, "could not register sensor: %d\n", ret);
> @@ -341,40 +342,23 @@ static int brcmstb_thermal_probe(struct platform_device 
> *pdev)
>   irq = platform_get_irq(pdev, 0);
>   if (irq < 0) {
>   dev_err(>dev, "could not get IRQ\n");
> - ret = irq;
> - goto err;
> + return irq;
>   }
>   ret = devm_request_threaded_irq(>dev, irq, NULL,
>   brcmstb_tmon_irq_thread, IRQF_ONESHOT,
>   DRV_NAME, priv);
>   if (ret < 0) {
>   dev_err(>dev, "could not request IRQ: %d\n", ret);
> - goto err;
> + return ret;
>   }
>  
>   dev_info(>dev, "registered AVS TMON of-sensor driver\n");
>  
>   return 0;
> -
> -err:
> - thermal_zone_of_sensor_unregister(>dev, thermal);
> - return ret;
> -}
> -
> -static int brcmstb_thermal_exit(struct platform_device *pdev)
> -{
> - struct brcmstb_thermal_priv *priv = platform_get_drvdata(pdev);
> - struct thermal_zone_device *thermal = priv->thermal;
> -
> - if (thermal)
> - thermal_zone_of_sensor_unregister(>dev, priv->thermal);
> -
> - return 0;
>  }
>  
>  static struct platform_driver brcmstb_thermal_driver = {
>   .probe = brcmstb_thermal_probe,
> - .remove = brcmstb_thermal_exit,
>   .driver = {
>   .name = DRV_NAME,
>   .of_match_table = brcmstb_thermal_id_table,
> 


-- 
  Linaro.org │ Open source software for ARM SoCs

Follow Linaro:   Facebook |
 Twitter |
 Blog



[PATCH] thermal: broadcom: use devm_thermal_zone_of_sensor_register

2018-10-30 Thread Julia Lawall
Using devm_thermal_zone_of_sensor_register allows to simplify some
error handling code, drop a label, and drop the remove function.

Signed-off-by: Julia Lawall 

---

This patch is completely orthogonal to the recent constification
patch.

 drivers/thermal/broadcom/brcmstb_thermal.c |   24 
 1 file changed, 4 insertions(+), 20 deletions(-)

diff --git a/drivers/thermal/broadcom/brcmstb_thermal.c 
b/drivers/thermal/broadcom/brcmstb_thermal.c
index 1919f91fa756..956eef8717bb 100644
--- a/drivers/thermal/broadcom/brcmstb_thermal.c
+++ b/drivers/thermal/broadcom/brcmstb_thermal.c
@@ -329,7 +329,8 @@ static int brcmstb_thermal_probe(struct platform_device 
*pdev)
priv->dev = >dev;
platform_set_drvdata(pdev, priv);
 
-   thermal = thermal_zone_of_sensor_register(>dev, 0, priv, _ops);
+   thermal = devm_thermal_zone_of_sensor_register(>dev, 0, priv,
+  _ops);
if (IS_ERR(thermal)) {
ret = PTR_ERR(thermal);
dev_err(>dev, "could not register sensor: %d\n", ret);
@@ -341,40 +342,23 @@ static int brcmstb_thermal_probe(struct platform_device 
*pdev)
irq = platform_get_irq(pdev, 0);
if (irq < 0) {
dev_err(>dev, "could not get IRQ\n");
-   ret = irq;
-   goto err;
+   return irq;
}
ret = devm_request_threaded_irq(>dev, irq, NULL,
brcmstb_tmon_irq_thread, IRQF_ONESHOT,
DRV_NAME, priv);
if (ret < 0) {
dev_err(>dev, "could not request IRQ: %d\n", ret);
-   goto err;
+   return ret;
}
 
dev_info(>dev, "registered AVS TMON of-sensor driver\n");
 
return 0;
-
-err:
-   thermal_zone_of_sensor_unregister(>dev, thermal);
-   return ret;
-}
-
-static int brcmstb_thermal_exit(struct platform_device *pdev)
-{
-   struct brcmstb_thermal_priv *priv = platform_get_drvdata(pdev);
-   struct thermal_zone_device *thermal = priv->thermal;
-
-   if (thermal)
-   thermal_zone_of_sensor_unregister(>dev, priv->thermal);
-
-   return 0;
 }
 
 static struct platform_driver brcmstb_thermal_driver = {
.probe = brcmstb_thermal_probe,
-   .remove = brcmstb_thermal_exit,
.driver = {
.name = DRV_NAME,
.of_match_table = brcmstb_thermal_id_table,



[PATCH] thermal: broadcom: use devm_thermal_zone_of_sensor_register

2018-10-30 Thread Julia Lawall
Using devm_thermal_zone_of_sensor_register allows to simplify some
error handling code, drop a label, and drop the remove function.

Signed-off-by: Julia Lawall 

---

This patch is completely orthogonal to the recent constification
patch.

 drivers/thermal/broadcom/brcmstb_thermal.c |   24 
 1 file changed, 4 insertions(+), 20 deletions(-)

diff --git a/drivers/thermal/broadcom/brcmstb_thermal.c 
b/drivers/thermal/broadcom/brcmstb_thermal.c
index 1919f91fa756..956eef8717bb 100644
--- a/drivers/thermal/broadcom/brcmstb_thermal.c
+++ b/drivers/thermal/broadcom/brcmstb_thermal.c
@@ -329,7 +329,8 @@ static int brcmstb_thermal_probe(struct platform_device 
*pdev)
priv->dev = >dev;
platform_set_drvdata(pdev, priv);
 
-   thermal = thermal_zone_of_sensor_register(>dev, 0, priv, _ops);
+   thermal = devm_thermal_zone_of_sensor_register(>dev, 0, priv,
+  _ops);
if (IS_ERR(thermal)) {
ret = PTR_ERR(thermal);
dev_err(>dev, "could not register sensor: %d\n", ret);
@@ -341,40 +342,23 @@ static int brcmstb_thermal_probe(struct platform_device 
*pdev)
irq = platform_get_irq(pdev, 0);
if (irq < 0) {
dev_err(>dev, "could not get IRQ\n");
-   ret = irq;
-   goto err;
+   return irq;
}
ret = devm_request_threaded_irq(>dev, irq, NULL,
brcmstb_tmon_irq_thread, IRQF_ONESHOT,
DRV_NAME, priv);
if (ret < 0) {
dev_err(>dev, "could not request IRQ: %d\n", ret);
-   goto err;
+   return ret;
}
 
dev_info(>dev, "registered AVS TMON of-sensor driver\n");
 
return 0;
-
-err:
-   thermal_zone_of_sensor_unregister(>dev, thermal);
-   return ret;
-}
-
-static int brcmstb_thermal_exit(struct platform_device *pdev)
-{
-   struct brcmstb_thermal_priv *priv = platform_get_drvdata(pdev);
-   struct thermal_zone_device *thermal = priv->thermal;
-
-   if (thermal)
-   thermal_zone_of_sensor_unregister(>dev, priv->thermal);
-
-   return 0;
 }
 
 static struct platform_driver brcmstb_thermal_driver = {
.probe = brcmstb_thermal_probe,
-   .remove = brcmstb_thermal_exit,
.driver = {
.name = DRV_NAME,
.of_match_table = brcmstb_thermal_id_table,