diff mbox

[12/13] thermal: convert tegra_thermal to use devm_thermal_zone_of_sensor_register

Message ID 1457559336-17652-13-git-send-email-edubezval@gmail.com (mailing list archive)
State Accepted
Delegated to: Eduardo Valentin
Headers show

Commit Message

Eduardo Valentin March 9, 2016, 9:35 p.m. UTC
This changes the driver to use the devm_ version
of thermal_zone_of_sensor_register and cleans
up the  local points and unregister calls.

Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: linux-pm@vger.kernel.org
Cc: linux-tegra@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
---
 drivers/thermal/tegra_soctherm.c | 31 +++++++++----------------------
 1 file changed, 9 insertions(+), 22 deletions(-)

Comments

Wei Ni March 10, 2016, 8:46 a.m. UTC | #1
On 2016?03?10? 05:35, Eduardo Valentin wrote:
> This changes the driver to use the devm_ version
> of thermal_zone_of_sensor_register and cleans
> up the  local points and unregister calls.
> 
> Cc: Zhang Rui <rui.zhang@intel.com>
> Cc: Stephen Warren <swarren@wwwdotorg.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Alexandre Courbot <gnurou@gmail.com>
> Cc: linux-pm@vger.kernel.org
> Cc: linux-tegra@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
> ---
>  drivers/thermal/tegra_soctherm.c | 31 +++++++++----------------------
>  1 file changed, 9 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/thermal/tegra_soctherm.c b/drivers/thermal/tegra_soctherm.c
> index 74ea576..0018ccd 100644
> --- a/drivers/thermal/tegra_soctherm.c
> +++ b/drivers/thermal/tegra_soctherm.c
> @@ -168,7 +168,7 @@ struct tegra_soctherm {
>  	struct clk *clock_soctherm;
>  	void __iomem *regs;
>  
> -	struct thermal_zone_device *thermctl_tzs[4];
> +#define ZONE_NUMBER		4
>  };
>  
>  struct tsensor_shared_calibration {
> @@ -342,7 +342,7 @@ static const struct thermctl_zone_desc t124_thermctl_temp_zones[] = {
>  static int tegra_soctherm_probe(struct platform_device *pdev)
>  {
>  	struct tegra_soctherm *tegra;
> -	struct thermal_zone_device *tz;
> +	struct thermal_zone_device *z;
>  	struct tsensor_shared_calibration shared_calib;
>  	struct resource *res;
>  	unsigned int i;
> @@ -408,36 +408,29 @@ static int tegra_soctherm_probe(struct platform_device *pdev)
>  
>  	/* Initialize thermctl sensors */
>  
> -	for (i = 0; i < ARRAY_SIZE(tegra->thermctl_tzs); ++i) {
> +	for (i = 0; i < ZONE_NUMBER; ++i) {
>  		struct tegra_thermctl_zone *zone =
>  			devm_kzalloc(&pdev->dev, sizeof(*zone), GFP_KERNEL);
>  		if (!zone) {
>  			err = -ENOMEM;
> -			goto unregister_tzs;
> +			goto disable_clocks;
>  		}
>  
>  		zone->reg = tegra->regs + t124_thermctl_temp_zones[i].offset;
>  		zone->shift = t124_thermctl_temp_zones[i].shift;
>  
> -		tz = thermal_zone_of_sensor_register(&pdev->dev, i, zone,
> -						     &tegra_of_thermal_ops);
> -		if (IS_ERR(tz)) {
> -			err = PTR_ERR(tz);
> +		z = devm_thermal_zone_of_sensor_register(&pdev->dev, i, zone,

I prefer to still use "tz", it seems this line isn't over 80 characters, or we
can add newline.

> +							 &tegra_of_thermal_ops);
> +		if (IS_ERR(z)) {
> +			err = PTR_ERR(z);
>  			dev_err(&pdev->dev, "failed to register sensor: %d\n",
>  				err);
> -			goto unregister_tzs;
> +			goto disable_clocks;
>  		}
> -
> -		tegra->thermctl_tzs[i] = tz;
>  	}
>  
>  	return 0;
>  
> -unregister_tzs:
> -	while (i--)
> -		thermal_zone_of_sensor_unregister(&pdev->dev,
> -						  tegra->thermctl_tzs[i]);
> -
>  disable_clocks:
>  	clk_disable_unprepare(tegra->clock_tsensor);
>  	clk_disable_unprepare(tegra->clock_soctherm);
> @@ -448,12 +441,6 @@ disable_clocks:
>  static int tegra_soctherm_remove(struct platform_device *pdev)
>  {
>  	struct tegra_soctherm *tegra = platform_get_drvdata(pdev);
> -	unsigned int i;
> -
> -	for (i = 0; i < ARRAY_SIZE(tegra->thermctl_tzs); ++i) {
> -		thermal_zone_of_sensor_unregister(&pdev->dev,
> -						  tegra->thermctl_tzs[i]);
> -	}
>  
>  	clk_disable_unprepare(tegra->clock_tsensor);
>  	clk_disable_unprepare(tegra->clock_soctherm);
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eduardo Valentin March 14, 2016, 9:16 p.m. UTC | #2
On Thu, Mar 10, 2016 at 04:46:55PM +0800, Wei Ni wrote:
> 
> 
> On 2016?03?10? 05:35, Eduardo Valentin wrote:
> > This changes the driver to use the devm_ version
> > of thermal_zone_of_sensor_register and cleans
> > up the  local points and unregister calls.
> > 
> > Cc: Zhang Rui <rui.zhang@intel.com>
> > Cc: Stephen Warren <swarren@wwwdotorg.org>
> > Cc: Thierry Reding <thierry.reding@gmail.com>
> > Cc: Alexandre Courbot <gnurou@gmail.com>
> > Cc: linux-pm@vger.kernel.org
> > Cc: linux-tegra@vger.kernel.org
> > Cc: linux-kernel@vger.kernel.org
> > Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
> > ---
> >  drivers/thermal/tegra_soctherm.c | 31 +++++++++----------------------
> >  1 file changed, 9 insertions(+), 22 deletions(-)
> > 
> > diff --git a/drivers/thermal/tegra_soctherm.c b/drivers/thermal/tegra_soctherm.c
> > index 74ea576..0018ccd 100644
> > --- a/drivers/thermal/tegra_soctherm.c
> > +++ b/drivers/thermal/tegra_soctherm.c
> > @@ -168,7 +168,7 @@ struct tegra_soctherm {
> >  	struct clk *clock_soctherm;
> >  	void __iomem *regs;
> >  
> > -	struct thermal_zone_device *thermctl_tzs[4];
> > +#define ZONE_NUMBER		4
> >  };
> >  
> >  struct tsensor_shared_calibration {
> > @@ -342,7 +342,7 @@ static const struct thermctl_zone_desc t124_thermctl_temp_zones[] = {
> >  static int tegra_soctherm_probe(struct platform_device *pdev)
> >  {
> >  	struct tegra_soctherm *tegra;
> > -	struct thermal_zone_device *tz;
> > +	struct thermal_zone_device *z;
> >  	struct tsensor_shared_calibration shared_calib;
> >  	struct resource *res;
> >  	unsigned int i;
> > @@ -408,36 +408,29 @@ static int tegra_soctherm_probe(struct platform_device *pdev)
> >  
> >  	/* Initialize thermctl sensors */
> >  
> > -	for (i = 0; i < ARRAY_SIZE(tegra->thermctl_tzs); ++i) {
> > +	for (i = 0; i < ZONE_NUMBER; ++i) {
> >  		struct tegra_thermctl_zone *zone =
> >  			devm_kzalloc(&pdev->dev, sizeof(*zone), GFP_KERNEL);
> >  		if (!zone) {
> >  			err = -ENOMEM;
> > -			goto unregister_tzs;
> > +			goto disable_clocks;
> >  		}
> >  
> >  		zone->reg = tegra->regs + t124_thermctl_temp_zones[i].offset;
> >  		zone->shift = t124_thermctl_temp_zones[i].shift;
> >  
> > -		tz = thermal_zone_of_sensor_register(&pdev->dev, i, zone,
> > -						     &tegra_of_thermal_ops);
> > -		if (IS_ERR(tz)) {
> > -			err = PTR_ERR(tz);
> > +		z = devm_thermal_zone_of_sensor_register(&pdev->dev, i, zone,
> 
> I prefer to still use "tz", it seems this line isn't over 80 characters, or we
> can add newline.


Yeah,


> 
> > +							 &tegra_of_thermal_ops);

CHECK: Alignment should match open parenthesis
#423: FILE: drivers/thermal/tegra_soctherm.c:423:
+		tz = devm_thermal_zone_of_sensor_register(&pdev->dev, i, zone,
+							 &tegra_of_thermal_ops);

and if you align it, then, you get the warning:
WARNING: line over 80 characters
#423: FILE: drivers/thermal/tegra_soctherm.c:423:
+							  &tegra_of_thermal_ops);

And I did not want to add either of the above to the driver. 

But if you prefer tz over z, we can keep the first (check) then.

What do you prefer?
Wei Ni March 15, 2016, 5:42 a.m. UTC | #3
On 2016?03?15? 05:16, Eduardo Valentin wrote:
> * PGP Signed by an unknown key
> 
> On Thu, Mar 10, 2016 at 04:46:55PM +0800, Wei Ni wrote:
>>
>>
>> On 2016?03?10? 05:35, Eduardo Valentin wrote:
>>> This changes the driver to use the devm_ version
>>> of thermal_zone_of_sensor_register and cleans
>>> up the  local points and unregister calls.
>>>
>>> Cc: Zhang Rui <rui.zhang@intel.com>
>>> Cc: Stephen Warren <swarren@wwwdotorg.org>
>>> Cc: Thierry Reding <thierry.reding@gmail.com>
>>> Cc: Alexandre Courbot <gnurou@gmail.com>
>>> Cc: linux-pm@vger.kernel.org
>>> Cc: linux-tegra@vger.kernel.org
>>> Cc: linux-kernel@vger.kernel.org
>>> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
>>> ---
>>>  drivers/thermal/tegra_soctherm.c | 31 +++++++++----------------------
>>>  1 file changed, 9 insertions(+), 22 deletions(-)
>>>
>>> diff --git a/drivers/thermal/tegra_soctherm.c b/drivers/thermal/tegra_soctherm.c
>>> index 74ea576..0018ccd 100644
>>> --- a/drivers/thermal/tegra_soctherm.c
>>> +++ b/drivers/thermal/tegra_soctherm.c
>>> @@ -168,7 +168,7 @@ struct tegra_soctherm {
>>>  	struct clk *clock_soctherm;
>>>  	void __iomem *regs;
>>>  
>>> -	struct thermal_zone_device *thermctl_tzs[4];
>>> +#define ZONE_NUMBER		4
>>>  };
>>>  
>>>  struct tsensor_shared_calibration {
>>> @@ -342,7 +342,7 @@ static const struct thermctl_zone_desc t124_thermctl_temp_zones[] = {
>>>  static int tegra_soctherm_probe(struct platform_device *pdev)
>>>  {
>>>  	struct tegra_soctherm *tegra;
>>> -	struct thermal_zone_device *tz;
>>> +	struct thermal_zone_device *z;
>>>  	struct tsensor_shared_calibration shared_calib;
>>>  	struct resource *res;
>>>  	unsigned int i;
>>> @@ -408,36 +408,29 @@ static int tegra_soctherm_probe(struct platform_device *pdev)
>>>  
>>>  	/* Initialize thermctl sensors */
>>>  
>>> -	for (i = 0; i < ARRAY_SIZE(tegra->thermctl_tzs); ++i) {
>>> +	for (i = 0; i < ZONE_NUMBER; ++i) {
>>>  		struct tegra_thermctl_zone *zone =
>>>  			devm_kzalloc(&pdev->dev, sizeof(*zone), GFP_KERNEL);
>>>  		if (!zone) {
>>>  			err = -ENOMEM;
>>> -			goto unregister_tzs;
>>> +			goto disable_clocks;
>>>  		}
>>>  
>>>  		zone->reg = tegra->regs + t124_thermctl_temp_zones[i].offset;
>>>  		zone->shift = t124_thermctl_temp_zones[i].shift;
>>>  
>>> -		tz = thermal_zone_of_sensor_register(&pdev->dev, i, zone,
>>> -						     &tegra_of_thermal_ops);
>>> -		if (IS_ERR(tz)) {
>>> -			err = PTR_ERR(tz);
>>> +		z = devm_thermal_zone_of_sensor_register(&pdev->dev, i, zone,
>>
>> I prefer to still use "tz", it seems this line isn't over 80 characters, or we
>> can add newline.
> 
> 
> Yeah,
> 
> 
>>
>>> +							 &tegra_of_thermal_ops);
> 
> CHECK: Alignment should match open parenthesis
> #423: FILE: drivers/thermal/tegra_soctherm.c:423:
> +		tz = devm_thermal_zone_of_sensor_register(&pdev->dev, i, zone,
> +							 &tegra_of_thermal_ops);
> 
> and if you align it, then, you get the warning:
> WARNING: line over 80 characters
> #423: FILE: drivers/thermal/tegra_soctherm.c:423:
> +							  &tegra_of_thermal_ops);
> 
> And I did not want to add either of the above to the driver. 
> 
> But if you prefer tz over z, we can keep the first (check) then.
> 
> What do you prefer?

Hmm, I see.
Ok, it's better to use "z" to resolve it.

Wei.
> 
> 
> 
> 
> 
> * Unknown Key
> * 0x7DA4E256
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/thermal/tegra_soctherm.c b/drivers/thermal/tegra_soctherm.c
index 74ea576..0018ccd 100644
--- a/drivers/thermal/tegra_soctherm.c
+++ b/drivers/thermal/tegra_soctherm.c
@@ -168,7 +168,7 @@  struct tegra_soctherm {
 	struct clk *clock_soctherm;
 	void __iomem *regs;
 
-	struct thermal_zone_device *thermctl_tzs[4];
+#define ZONE_NUMBER		4
 };
 
 struct tsensor_shared_calibration {
@@ -342,7 +342,7 @@  static const struct thermctl_zone_desc t124_thermctl_temp_zones[] = {
 static int tegra_soctherm_probe(struct platform_device *pdev)
 {
 	struct tegra_soctherm *tegra;
-	struct thermal_zone_device *tz;
+	struct thermal_zone_device *z;
 	struct tsensor_shared_calibration shared_calib;
 	struct resource *res;
 	unsigned int i;
@@ -408,36 +408,29 @@  static int tegra_soctherm_probe(struct platform_device *pdev)
 
 	/* Initialize thermctl sensors */
 
-	for (i = 0; i < ARRAY_SIZE(tegra->thermctl_tzs); ++i) {
+	for (i = 0; i < ZONE_NUMBER; ++i) {
 		struct tegra_thermctl_zone *zone =
 			devm_kzalloc(&pdev->dev, sizeof(*zone), GFP_KERNEL);
 		if (!zone) {
 			err = -ENOMEM;
-			goto unregister_tzs;
+			goto disable_clocks;
 		}
 
 		zone->reg = tegra->regs + t124_thermctl_temp_zones[i].offset;
 		zone->shift = t124_thermctl_temp_zones[i].shift;
 
-		tz = thermal_zone_of_sensor_register(&pdev->dev, i, zone,
-						     &tegra_of_thermal_ops);
-		if (IS_ERR(tz)) {
-			err = PTR_ERR(tz);
+		z = devm_thermal_zone_of_sensor_register(&pdev->dev, i, zone,
+							 &tegra_of_thermal_ops);
+		if (IS_ERR(z)) {
+			err = PTR_ERR(z);
 			dev_err(&pdev->dev, "failed to register sensor: %d\n",
 				err);
-			goto unregister_tzs;
+			goto disable_clocks;
 		}
-
-		tegra->thermctl_tzs[i] = tz;
 	}
 
 	return 0;
 
-unregister_tzs:
-	while (i--)
-		thermal_zone_of_sensor_unregister(&pdev->dev,
-						  tegra->thermctl_tzs[i]);
-
 disable_clocks:
 	clk_disable_unprepare(tegra->clock_tsensor);
 	clk_disable_unprepare(tegra->clock_soctherm);
@@ -448,12 +441,6 @@  disable_clocks:
 static int tegra_soctherm_remove(struct platform_device *pdev)
 {
 	struct tegra_soctherm *tegra = platform_get_drvdata(pdev);
-	unsigned int i;
-
-	for (i = 0; i < ARRAY_SIZE(tegra->thermctl_tzs); ++i) {
-		thermal_zone_of_sensor_unregister(&pdev->dev,
-						  tegra->thermctl_tzs[i]);
-	}
 
 	clk_disable_unprepare(tegra->clock_tsensor);
 	clk_disable_unprepare(tegra->clock_soctherm);