linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/3] Fixes for Tegra soctherm
@ 2018-11-29 10:09 Wei Ni
  2018-11-29 10:09 ` [PATCH v4 1/3] thermal: tegra: remove unnecessary warnings Wei Ni
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Wei Ni @ 2018-11-29 10:09 UTC (permalink / raw)
  To: thierry.reding, daniel.lezcano, linux-tegra
  Cc: rui.zhang, edubezval, srikars, linux-kernel, Wei Ni

This series fixed some issues for Tegra soctherm

Main changes from v3:
1. updated codes for parsing sensor id, per Thierry's comments

Main changes from v2:
1. add codes to parse sensor id to avoid registration
failure.

Main changes from v1:
1. Acked by Thierry Reding <treding@nvidia.com> for the patch
"thermal: tegra: fix memory allocation".
2. Print out the sensor name when register failed.
2. Remove patch "thermal: tegra: fix coverity defect"

Wei Ni (3):
  thermal: tegra: remove unnecessary warnings
  thermal: tegra: fix memory allocation
  thermal: tegra: parse sensor id before sensor register

 drivers/thermal/tegra/soctherm.c | 54 +++++++++++++++++++++++++++++++++++-----
 1 file changed, 48 insertions(+), 6 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v4 1/3] thermal: tegra: remove unnecessary warnings
  2018-11-29 10:09 [PATCH v4 0/3] Fixes for Tegra soctherm Wei Ni
@ 2018-11-29 10:09 ` Wei Ni
  2018-11-29 16:39   ` Eduardo Valentin
  2018-11-29 10:09 ` [PATCH v4 2/3] thermal: tegra: fix memory allocation Wei Ni
  2018-11-29 10:09 ` [PATCH v4 3/3] thermal: tegra: parse sensor id before sensor register Wei Ni
  2 siblings, 1 reply; 8+ messages in thread
From: Wei Ni @ 2018-11-29 10:09 UTC (permalink / raw)
  To: thierry.reding, daniel.lezcano, linux-tegra
  Cc: rui.zhang, edubezval, srikars, linux-kernel, Wei Ni

Convert warnings to info as not all platforms may
have all the thresholds and sensors enabled.

Signed-off-by: Wei Ni <wni@nvidia.com>
---
 drivers/thermal/tegra/soctherm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
index ed28110a3535..55cc1f2f6a45 100644
--- a/drivers/thermal/tegra/soctherm.c
+++ b/drivers/thermal/tegra/soctherm.c
@@ -550,7 +550,7 @@ static int tegra_soctherm_set_hwtrips(struct device *dev,
 
 	ret = tz->ops->get_crit_temp(tz, &temperature);
 	if (ret) {
-		dev_warn(dev, "thermtrip: %s: missing critical temperature\n",
+		dev_info(dev, "thermtrip: %s: missing critical temperature\n",
 			 sg->name);
 		goto set_throttle;
 	}
@@ -569,7 +569,7 @@ static int tegra_soctherm_set_hwtrips(struct device *dev,
 set_throttle:
 	ret = get_hot_temp(tz, &trip, &temperature);
 	if (ret) {
-		dev_warn(dev, "throttrip: %s: missing hot temperature\n",
+		dev_info(dev, "throttrip: %s: missing hot temperature\n",
 			 sg->name);
 		return 0;
 	}
@@ -600,7 +600,7 @@ static int tegra_soctherm_set_hwtrips(struct device *dev,
 	}
 
 	if (i == THROTTLE_SIZE)
-		dev_warn(dev, "throttrip: %s: missing throttle cdev\n",
+		dev_info(dev, "throttrip: %s: missing throttle cdev\n",
 			 sg->name);
 
 	return 0;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v4 2/3] thermal: tegra: fix memory allocation
  2018-11-29 10:09 [PATCH v4 0/3] Fixes for Tegra soctherm Wei Ni
  2018-11-29 10:09 ` [PATCH v4 1/3] thermal: tegra: remove unnecessary warnings Wei Ni
@ 2018-11-29 10:09 ` Wei Ni
  2018-11-29 10:09 ` [PATCH v4 3/3] thermal: tegra: parse sensor id before sensor register Wei Ni
  2 siblings, 0 replies; 8+ messages in thread
From: Wei Ni @ 2018-11-29 10:09 UTC (permalink / raw)
  To: thierry.reding, daniel.lezcano, linux-tegra
  Cc: rui.zhang, edubezval, srikars, linux-kernel, Wei Ni

Fix memory allocation to store the pointers to
thermal_zone_device.

Signed-off-by: Wei Ni <wni@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
---
 drivers/thermal/tegra/soctherm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
index 55cc1f2f6a45..375cadbc24cd 100644
--- a/drivers/thermal/tegra/soctherm.c
+++ b/drivers/thermal/tegra/soctherm.c
@@ -1339,7 +1339,7 @@ static int tegra_soctherm_probe(struct platform_device *pdev)
 	}
 
 	tegra->thermctl_tzs = devm_kcalloc(&pdev->dev,
-					   soc->num_ttgs, sizeof(*z),
+					   soc->num_ttgs, sizeof(z),
 					   GFP_KERNEL);
 	if (!tegra->thermctl_tzs)
 		return -ENOMEM;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v4 3/3] thermal: tegra: parse sensor id before sensor register
  2018-11-29 10:09 [PATCH v4 0/3] Fixes for Tegra soctherm Wei Ni
  2018-11-29 10:09 ` [PATCH v4 1/3] thermal: tegra: remove unnecessary warnings Wei Ni
  2018-11-29 10:09 ` [PATCH v4 2/3] thermal: tegra: fix memory allocation Wei Ni
@ 2018-11-29 10:09 ` Wei Ni
  2018-11-29 16:46   ` Eduardo Valentin
  2 siblings, 1 reply; 8+ messages in thread
From: Wei Ni @ 2018-11-29 10:09 UTC (permalink / raw)
  To: thierry.reding, daniel.lezcano, linux-tegra
  Cc: rui.zhang, edubezval, srikars, linux-kernel, Wei Ni

Since different platforms may not support all 4
sensors, so the sensor registration may be failed.
Add codes to parse dt to find sensor id which
need to be registered. So that the registration
can be successful on all platform.

Signed-off-by: Wei Ni <wni@nvidia.com>
---
 drivers/thermal/tegra/soctherm.c | 46 ++++++++++++++++++++++++++++++++++++++--
 1 file changed, 44 insertions(+), 2 deletions(-)

diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
index 375cadbc24cd..bdc660f2794a 100644
--- a/drivers/thermal/tegra/soctherm.c
+++ b/drivers/thermal/tegra/soctherm.c
@@ -1224,6 +1224,42 @@ static void soctherm_init(struct platform_device *pdev)
 	tegra_soctherm_throttle(&pdev->dev);
 }
 
+static bool tegra_soctherm_find_sensor_id(unsigned int sensor_id)
+{
+	bool ret = false;
+	struct of_phandle_args sensor_specs;
+	struct device_node *np, *sensor_np;
+
+	np = of_find_node_by_name(NULL, "thermal-zones");
+	if (!np)
+		return ret;
+
+	sensor_np = of_get_next_child(np, NULL);
+	for_each_available_child_of_node(np, sensor_np) {
+		if (of_parse_phandle_with_args(sensor_np, "thermal-sensors",
+						 "#thermal-sensor-cells",
+						 0, &sensor_specs))
+			continue;
+
+		if (sensor_specs.args_count != 1) {
+			WARN(sensor_specs.args_count != 1,
+			     "%s: wrong cells in sensor specifier %d\n",
+			     sensor_specs.np->name, sensor_specs.args_count);
+			continue;
+		}
+
+		if (sensor_specs.args[0] == sensor_id) {
+			ret = true;
+			break;
+		}
+	}
+
+	of_node_put(np);
+	of_node_put(sensor_np);
+
+	return ret;
+}
+
 static const struct of_device_id tegra_soctherm_of_match[] = {
 #ifdef CONFIG_ARCH_TEGRA_124_SOC
 	{
@@ -1365,13 +1401,16 @@ static int tegra_soctherm_probe(struct platform_device *pdev)
 		zone->sg = soc->ttgs[i];
 		zone->ts = tegra;
 
+		if (!tegra_soctherm_find_sensor_id(soc->ttgs[i]->id))
+			continue;
+
 		z = devm_thermal_zone_of_sensor_register(&pdev->dev,
 							 soc->ttgs[i]->id, zone,
 							 &tegra_of_thermal_ops);
 		if (IS_ERR(z)) {
 			err = PTR_ERR(z);
-			dev_err(&pdev->dev, "failed to register sensor: %d\n",
-				err);
+			dev_err(&pdev->dev, "failed to register sensor %s: %d\n",
+				soc->ttgs[i]->name, err);
 			goto disable_clocks;
 		}
 
@@ -1434,6 +1473,9 @@ static int __maybe_unused soctherm_resume(struct device *dev)
 		struct thermal_zone_device *tz;
 
 		tz = tegra->thermctl_tzs[soc->ttgs[i]->id];
+		if (!tz)
+			continue;
+
 		err = tegra_soctherm_set_hwtrips(dev, soc->ttgs[i], tz);
 		if (err) {
 			dev_err(&pdev->dev,
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v4 1/3] thermal: tegra: remove unnecessary warnings
  2018-11-29 10:09 ` [PATCH v4 1/3] thermal: tegra: remove unnecessary warnings Wei Ni
@ 2018-11-29 16:39   ` Eduardo Valentin
  2018-11-30  2:52     ` Wei Ni
  0 siblings, 1 reply; 8+ messages in thread
From: Eduardo Valentin @ 2018-11-29 16:39 UTC (permalink / raw)
  To: Wei Ni
  Cc: thierry.reding, daniel.lezcano, linux-tegra, rui.zhang, srikars,
	linux-kernel

Hey,

On Thu, Nov 29, 2018 at 06:09:41PM +0800, Wei Ni wrote:
> Convert warnings to info as not all platforms may
> have all the thresholds and sensors enabled.
> 
> Signed-off-by: Wei Ni <wni@nvidia.com>
> ---
>  drivers/thermal/tegra/soctherm.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
> index ed28110a3535..55cc1f2f6a45 100644
> --- a/drivers/thermal/tegra/soctherm.c
> +++ b/drivers/thermal/tegra/soctherm.c
> @@ -550,7 +550,7 @@ static int tegra_soctherm_set_hwtrips(struct device *dev,
>  
>  	ret = tz->ops->get_crit_temp(tz, &temperature);
>  	if (ret) {
> -		dev_warn(dev, "thermtrip: %s: missing critical temperature\n",
> +		dev_info(dev, "thermtrip: %s: missing critical temperature\n",

I am mostly ok with your change in direction. But are you sure this is a
good thing? What about in the case that you have a platform that have
the crit temp and you really failed to .get_crit_temp()?

>  			 sg->name);
>  		goto set_throttle;
>  	}
> @@ -569,7 +569,7 @@ static int tegra_soctherm_set_hwtrips(struct device *dev,
>  set_throttle:
>  	ret = get_hot_temp(tz, &trip, &temperature);
>  	if (ret) {
> -		dev_warn(dev, "throttrip: %s: missing hot temperature\n",
> +		dev_info(dev, "throttrip: %s: missing hot temperature\n",
>  			 sg->name);
>  		return 0;
>  	}
> @@ -600,7 +600,7 @@ static int tegra_soctherm_set_hwtrips(struct device *dev,
>  	}
>  
>  	if (i == THROTTLE_SIZE)
> -		dev_warn(dev, "throttrip: %s: missing throttle cdev\n",
> +		dev_info(dev, "throttrip: %s: missing throttle cdev\n",
>  			 sg->name);
>  
>  	return 0;
> -- 
> 2.7.4
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v4 3/3] thermal: tegra: parse sensor id before sensor register
  2018-11-29 10:09 ` [PATCH v4 3/3] thermal: tegra: parse sensor id before sensor register Wei Ni
@ 2018-11-29 16:46   ` Eduardo Valentin
  2018-11-30  3:00     ` Wei Ni
  0 siblings, 1 reply; 8+ messages in thread
From: Eduardo Valentin @ 2018-11-29 16:46 UTC (permalink / raw)
  To: Wei Ni
  Cc: thierry.reding, daniel.lezcano, linux-tegra, rui.zhang, srikars,
	linux-kernel

On Thu, Nov 29, 2018 at 06:09:43PM +0800, Wei Ni wrote:
> Since different platforms may not support all 4
> sensors, so the sensor registration may be failed.
> Add codes to parse dt to find sensor id which
> need to be registered. So that the registration
> can be successful on all platform.
> 
> Signed-off-by: Wei Ni <wni@nvidia.com>
> ---
>  drivers/thermal/tegra/soctherm.c | 46 ++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 44 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
> index 375cadbc24cd..bdc660f2794a 100644
> --- a/drivers/thermal/tegra/soctherm.c
> +++ b/drivers/thermal/tegra/soctherm.c
> @@ -1224,6 +1224,42 @@ static void soctherm_init(struct platform_device *pdev)
>  	tegra_soctherm_throttle(&pdev->dev);
>  }
>  
> +static bool tegra_soctherm_find_sensor_id(unsigned int sensor_id)
> +{
> +	bool ret = false;
> +	struct of_phandle_args sensor_specs;
> +	struct device_node *np, *sensor_np;
> +
> +	np = of_find_node_by_name(NULL, "thermal-zones");
> +	if (!np)
> +		return ret;
> +
> +	sensor_np = of_get_next_child(np, NULL);
> +	for_each_available_child_of_node(np, sensor_np) {
> +		if (of_parse_phandle_with_args(sensor_np, "thermal-sensors",
> +						 "#thermal-sensor-cells",
> +						 0, &sensor_specs))
> +			continue;
> +
> +		if (sensor_specs.args_count != 1) {
> +			WARN(sensor_specs.args_count != 1,
> +			     "%s: wrong cells in sensor specifier %d\n",
> +			     sensor_specs.np->name, sensor_specs.args_count);
> +			continue;
> +		}
> +
> +		if (sensor_specs.args[0] == sensor_id) {
> +			ret = true;
> +			break;
> +		}
> +	}
> +
> +	of_node_put(np);
> +	of_node_put(sensor_np);
> +
> +	return ret;
> +}
> +
>  static const struct of_device_id tegra_soctherm_of_match[] = {
>  #ifdef CONFIG_ARCH_TEGRA_124_SOC
>  	{
> @@ -1365,13 +1401,16 @@ static int tegra_soctherm_probe(struct platform_device *pdev)
>  		zone->sg = soc->ttgs[i];
>  		zone->ts = tegra;
>  
> +		if (!tegra_soctherm_find_sensor_id(soc->ttgs[i]->id))
> +			continue;
> +


Instead of matching driver id with DT id presence, wouldnt make sense to
simply have DT with the sensors that makes sense for that platform?

I am failing to understand why you need to go over and find ids.

>  		z = devm_thermal_zone_of_sensor_register(&pdev->dev,
>  							 soc->ttgs[i]->id, zone,
>  							 &tegra_of_thermal_ops);
>  		if (IS_ERR(z)) {
>  			err = PTR_ERR(z);
> -			dev_err(&pdev->dev, "failed to register sensor: %d\n",
> -				err);
> +			dev_err(&pdev->dev, "failed to register sensor %s: %d\n",
> +				soc->ttgs[i]->name, err);
>  			goto disable_clocks;
>  		}
>  
> @@ -1434,6 +1473,9 @@ static int __maybe_unused soctherm_resume(struct device *dev)
>  		struct thermal_zone_device *tz;
>  
>  		tz = tegra->thermctl_tzs[soc->ttgs[i]->id];
> +		if (!tz)
> +			continue;
> +
>  		err = tegra_soctherm_set_hwtrips(dev, soc->ttgs[i], tz);
>  		if (err) {
>  			dev_err(&pdev->dev,
> -- 
> 2.7.4
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v4 1/3] thermal: tegra: remove unnecessary warnings
  2018-11-29 16:39   ` Eduardo Valentin
@ 2018-11-30  2:52     ` Wei Ni
  0 siblings, 0 replies; 8+ messages in thread
From: Wei Ni @ 2018-11-30  2:52 UTC (permalink / raw)
  To: Eduardo Valentin
  Cc: thierry.reding, daniel.lezcano, linux-tegra, rui.zhang, srikars,
	linux-kernel



On 30/11/2018 12:39 AM, Eduardo Valentin wrote:
> Hey,
> 
> On Thu, Nov 29, 2018 at 06:09:41PM +0800, Wei Ni wrote:
>> Convert warnings to info as not all platforms may
>> have all the thresholds and sensors enabled.
>>
>> Signed-off-by: Wei Ni <wni@nvidia.com>
>> ---
>>  drivers/thermal/tegra/soctherm.c | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
>> index ed28110a3535..55cc1f2f6a45 100644
>> --- a/drivers/thermal/tegra/soctherm.c
>> +++ b/drivers/thermal/tegra/soctherm.c
>> @@ -550,7 +550,7 @@ static int tegra_soctherm_set_hwtrips(struct device *dev,
>>  
>>  	ret = tz->ops->get_crit_temp(tz, &temperature);
>>  	if (ret) {
>> -		dev_warn(dev, "thermtrip: %s: missing critical temperature\n",
>> +		dev_info(dev, "thermtrip: %s: missing critical temperature\n",
> 
> I am mostly ok with your change in direction. But are you sure this is a
> good thing? What about in the case that you have a platform that have
> the crit temp and you really failed to .get_crit_temp()?

If we set the crit temp in DT, but failed to .get_crit_temp(), it mean
the thermal framework have some problems. Since the critical trip is
very important, may be we should still keep "dev_warn" in here?

> 
>>  			 sg->name);
>>  		goto set_throttle;
>>  	}
>> @@ -569,7 +569,7 @@ static int tegra_soctherm_set_hwtrips(struct device *dev,
>>  set_throttle:
>>  	ret = get_hot_temp(tz, &trip, &temperature);
>>  	if (ret) {
>> -		dev_warn(dev, "throttrip: %s: missing hot temperature\n",
>> +		dev_info(dev, "throttrip: %s: missing hot temperature\n",
>>  			 sg->name);
>>  		return 0;
>>  	}
>> @@ -600,7 +600,7 @@ static int tegra_soctherm_set_hwtrips(struct device *dev,
>>  	}
>>  
>>  	if (i == THROTTLE_SIZE)
>> -		dev_warn(dev, "throttrip: %s: missing throttle cdev\n",
>> +		dev_info(dev, "throttrip: %s: missing throttle cdev\n",
>>  			 sg->name);
>>  
>>  	return 0;
>> -- 
>> 2.7.4
>>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v4 3/3] thermal: tegra: parse sensor id before sensor register
  2018-11-29 16:46   ` Eduardo Valentin
@ 2018-11-30  3:00     ` Wei Ni
  0 siblings, 0 replies; 8+ messages in thread
From: Wei Ni @ 2018-11-30  3:00 UTC (permalink / raw)
  To: Eduardo Valentin
  Cc: thierry.reding, daniel.lezcano, linux-tegra, rui.zhang, srikars,
	linux-kernel



On 30/11/2018 12:46 AM, Eduardo Valentin wrote:
> On Thu, Nov 29, 2018 at 06:09:43PM +0800, Wei Ni wrote:
>> Since different platforms may not support all 4
>> sensors, so the sensor registration may be failed.
>> Add codes to parse dt to find sensor id which
>> need to be registered. So that the registration
>> can be successful on all platform.
>>
>> Signed-off-by: Wei Ni <wni@nvidia.com>
>> ---
>>  drivers/thermal/tegra/soctherm.c | 46 ++++++++++++++++++++++++++++++++++++++--
>>  1 file changed, 44 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
>> index 375cadbc24cd..bdc660f2794a 100644
>> --- a/drivers/thermal/tegra/soctherm.c
>> +++ b/drivers/thermal/tegra/soctherm.c
>> @@ -1224,6 +1224,42 @@ static void soctherm_init(struct platform_device *pdev)
>>  	tegra_soctherm_throttle(&pdev->dev);
>>  }
>>  
>> +static bool tegra_soctherm_find_sensor_id(unsigned int sensor_id)
>> +{
>> +	bool ret = false;
>> +	struct of_phandle_args sensor_specs;
>> +	struct device_node *np, *sensor_np;
>> +
>> +	np = of_find_node_by_name(NULL, "thermal-zones");
>> +	if (!np)
>> +		return ret;
>> +
>> +	sensor_np = of_get_next_child(np, NULL);
>> +	for_each_available_child_of_node(np, sensor_np) {
>> +		if (of_parse_phandle_with_args(sensor_np, "thermal-sensors",
>> +						 "#thermal-sensor-cells",
>> +						 0, &sensor_specs))
>> +			continue;
>> +
>> +		if (sensor_specs.args_count != 1) {
>> +			WARN(sensor_specs.args_count != 1,
>> +			     "%s: wrong cells in sensor specifier %d\n",
>> +			     sensor_specs.np->name, sensor_specs.args_count);
>> +			continue;
>> +		}
>> +
>> +		if (sensor_specs.args[0] == sensor_id) {
>> +			ret = true;
>> +			break;
>> +		}
>> +	}
>> +
>> +	of_node_put(np);
>> +	of_node_put(sensor_np);
>> +
>> +	return ret;
>> +}
>> +
>>  static const struct of_device_id tegra_soctherm_of_match[] = {
>>  #ifdef CONFIG_ARCH_TEGRA_124_SOC
>>  	{
>> @@ -1365,13 +1401,16 @@ static int tegra_soctherm_probe(struct platform_device *pdev)
>>  		zone->sg = soc->ttgs[i];
>>  		zone->ts = tegra;
>>  
>> +		if (!tegra_soctherm_find_sensor_id(soc->ttgs[i]->id))
>> +			continue;
>> +
> 
> 
> Instead of matching driver id with DT id presence, wouldnt make sense to
> simply have DT with the sensors that makes sense for that platform?
> 
> I am failing to understand why you need to go over and find ids.

As discussed with Daniel several days ago, this driver will always try
to register 4 thermal zones, including cpu, gpu, mem and pll, but some
platform doesn't need to support all of them, so the thermal zone
registration will be failed. In previous patches, we just ignore the
failure and continue to register next sensors, but Daniel think it's not
good. And per his suggestion, we refer to the qoriq thermal driver to
parse dt to get sensor_id, so that we can make the registration to be
successful.

Wei.

> 
>>  		z = devm_thermal_zone_of_sensor_register(&pdev->dev,
>>  							 soc->ttgs[i]->id, zone,
>>  							 &tegra_of_thermal_ops);
>>  		if (IS_ERR(z)) {
>>  			err = PTR_ERR(z);
>> -			dev_err(&pdev->dev, "failed to register sensor: %d\n",
>> -				err);
>> +			dev_err(&pdev->dev, "failed to register sensor %s: %d\n",
>> +				soc->ttgs[i]->name, err);
>>  			goto disable_clocks;
>>  		}
>>  
>> @@ -1434,6 +1473,9 @@ static int __maybe_unused soctherm_resume(struct device *dev)
>>  		struct thermal_zone_device *tz;
>>  
>>  		tz = tegra->thermctl_tzs[soc->ttgs[i]->id];
>> +		if (!tz)
>> +			continue;
>> +
>>  		err = tegra_soctherm_set_hwtrips(dev, soc->ttgs[i], tz);
>>  		if (err) {
>>  			dev_err(&pdev->dev,
>> -- 
>> 2.7.4
>>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-11-30  3:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-29 10:09 [PATCH v4 0/3] Fixes for Tegra soctherm Wei Ni
2018-11-29 10:09 ` [PATCH v4 1/3] thermal: tegra: remove unnecessary warnings Wei Ni
2018-11-29 16:39   ` Eduardo Valentin
2018-11-30  2:52     ` Wei Ni
2018-11-29 10:09 ` [PATCH v4 2/3] thermal: tegra: fix memory allocation Wei Ni
2018-11-29 10:09 ` [PATCH v4 3/3] thermal: tegra: parse sensor id before sensor register Wei Ni
2018-11-29 16:46   ` Eduardo Valentin
2018-11-30  3:00     ` Wei Ni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).