All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Valentin <edubezval@gmail.com>
To: Zhang Rui <rui.zhang@intel.com>
Cc: linux-pm@vger.kernel.org
Subject: Re: [PATCH V4 3/3] Thermal: do thermal zone update after a cooling device registered
Date: Wed, 8 Apr 2015 08:04:21 -0700	[thread overview]
Message-ID: <20150408150420.GB28698@localhost.localdomain> (raw)
In-Reply-To: <1428373476-14257-4-git-send-email-rui.zhang@intel.com>

[-- Attachment #1: Type: text/plain, Size: 2670 bytes --]

Hello Rui,

On Tue, Apr 07, 2015 at 10:24:36AM +0800, Zhang Rui wrote:
> When a new cooling device is registered, we need to update the
> thermal zone to set the new registered cooling device to a proper
> state.
> 
> This fixes a problem that the system is cool, while the fan devices are left
> running on full speed after boot, if fan device is registered after
> thermal zone device.
> 
> CC: <stable@vger.kernel.org> #3.18+
> Reference:https://bugzilla.kernel.org/show_bug.cgi?id=92431
> Tested-by: Manuel Krause <manuelkrause@netscape.net>
> Tested-by: szegad <szegadlo@poczta.onet.pl>
> Tested-by: prash <prash.n.rao@gmail.com>
> Tested-by: amish <ammdispose-arch@yahoo.com>
> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
> ---
>  drivers/thermal/thermal_core.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
> index 875a9bb..e37042c 100644
> --- a/drivers/thermal/thermal_core.c
> +++ b/drivers/thermal/thermal_core.c
> @@ -1140,6 +1140,7 @@ __thermal_cooling_device_register(struct device_node *np,
>  				  const struct thermal_cooling_device_ops *ops)
>  {
>  	struct thermal_cooling_device *cdev;
> +	struct thermal_instance *pos, *next;
>  	int result;
>  
>  	if (type && strlen(type) >= THERMAL_NAME_LENGTH)
> @@ -1184,6 +1185,15 @@ __thermal_cooling_device_register(struct device_node *np,
>  	/* Update binding information for 'this' new cdev */
>  	bind_cdev(cdev);
>  
> +	list_for_each_entry_safe(pos, next, &cdev->thermal_instances, cdev_node) {
> +			if (next->cdev_node.next == &cdev->thermal_instances) {
> +				thermal_zone_device_update(next->tz);
> +				break;
> +			}
> +			if (pos->tz != next->tz)
> +				thermal_zone_device_update(pos->tz);
> +	}

Maybe the reasoning for not calling only when initialized == false is
because at this point all instances are initialized == false. 

Then why not moving this thermal_zone_device_update(tz) to the
thermal_zone_bind_cooling_device(), where we create the
thermal_instance?

> +

Besides, Can you please elaborate more on why we need to specifically call
thermal_zone_device_update(tz) here and not simply wait until next
tz->poll_queue work is called?

Any particular reason for the problem not be solved byt the call
of thermal_zone_device_update(tz) from the poll_queue of each tz?



>  	return cdev;
>  }
>  
> -- 
> 1.9.1
> 
> --
> 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

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

  reply	other threads:[~2015-04-08 15:04 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-07  2:24 [PATCH V4 0/3] Thermal: thermal enhancements for boot and system sleep Zhang Rui
2015-04-07  2:24 ` [PATCH V4 1/3] Thermal: initialize thermal zone device correctly Zhang Rui
2015-04-07  2:47   ` Eduardo Valentin
2015-04-08 13:01     ` Zhang, Rui
2015-04-08 15:03       ` Eduardo Valentin
2015-04-09 15:26         ` Zhang, Rui
2015-04-09 14:44       ` Javi Merino
2015-04-09 15:45         ` Zhang, Rui
2015-04-09 14:56   ` Javi Merino
2015-04-09 15:37     ` Zhang, Rui
2015-04-07  2:24 ` [PATCH V4 2/3] Thermal: handle thermal zone device properly during system sleep Zhang Rui
2015-04-07  2:24 ` [PATCH V4 3/3] Thermal: do thermal zone update after a cooling device registered Zhang Rui
2015-04-08 15:04   ` Eduardo Valentin [this message]
2015-04-09 15:14     ` Zhang, Rui

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150408150420.GB28698@localhost.localdomain \
    --to=edubezval@gmail.com \
    --cc=linux-pm@vger.kernel.org \
    --cc=rui.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.