linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eduardo Valentin <edubezval@gmail.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: rui.zhang@intel.com, linux-pm@vger.kernel.org,
	kevin.wangtao@linaro.org, leo.yan@linaro.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH V2 13/13] thermal/drivers/hisi: Remove mutex_lock in the code
Date: Thu, 7 Sep 2017 20:25:43 -0700	[thread overview]
Message-ID: <20170908032542.GF2755@localhost.localdomain> (raw)
In-Reply-To: <1504554972-2624-13-git-send-email-daniel.lezcano@linaro.org>

On Mon, Sep 04, 2017 at 09:56:12PM +0200, Daniel Lezcano wrote:
> The mutex is used to protect against writes in the configuration register.
> 
> That happens at probe time, with no possible race yet.
> 
> Then when the module is unloaded and at suspend/resume.
> 
> When the module is unloaded, it is an userspace operation, thus via a process.
> Suspending the system goes through the freezer to suspend all the tasks
> synchronously before continuing. So it is not possible to hit the suspend ops
> in this driver while we are unloading it.
> 
> The resume is the same situation than the probe.
> 
> In other words, even if there are several places where we write the
> configuration register, there is no situation where we can write it at the same
> time, so far as I can judge

To me is good to trend towards removal of a lock. Also keep in mind that
the thermal zone has a lock of its own. However, remember that get temp
may be called also from sysfs interaction, from your threaded irq and
from the workqueue in the thermal core that does the polling state
machine.

> 
> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> Reviewed-by: Leo Yan <leo.yan@linaro.org>
> Tested-by: Leo Yan <leo.yan@linaro.org>
> ---
>  drivers/thermal/hisi_thermal.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/drivers/thermal/hisi_thermal.c b/drivers/thermal/hisi_thermal.c
> index cce3d10..39f4627 100644
> --- a/drivers/thermal/hisi_thermal.c
> +++ b/drivers/thermal/hisi_thermal.c
> @@ -53,7 +53,6 @@ struct hisi_thermal_sensor {
>  };
>  
>  struct hisi_thermal_data {
> -	struct mutex thermal_lock;    /* protects register data */
>  	struct platform_device *pdev;
>  	struct clk *clk;
>  	struct hisi_thermal_sensor sensor;
> @@ -200,14 +199,10 @@ static inline void hisi_thermal_hdak_set(void __iomem *addr, int value)
>  
>  static void hisi_thermal_disable_sensor(struct hisi_thermal_data *data)
>  {
> -	mutex_lock(&data->thermal_lock);
> -
>  	/* disable sensor module */
>  	hisi_thermal_enable(data->regs, 0);
>  	hisi_thermal_alarm_enable(data->regs, 0);
>  	hisi_thermal_reset_enable(data->regs, 0);
> -
> -	mutex_unlock(&data->thermal_lock);
>  }
>  
>  static int hisi_thermal_get_temp(void *__data, int *temp)
> @@ -344,7 +339,6 @@ static int hisi_thermal_probe(struct platform_device *pdev)
>  	if (!data)
>  		return -ENOMEM;
>  
> -	mutex_init(&data->thermal_lock);
>  	data->pdev = pdev;
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -- 
> 2.7.4
> 

      reply	other threads:[~2017-09-08  3:25 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-04 19:56 [PATCH V2 01/13] thermal/drivers/hisi: Fix missing interrupt enablement Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 02/13] thermal/drivers/hisi: Remove the multiple sensors support Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 03/13] thermal/drivers/hisi: Fix kernel panic on alarm interrupt Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 04/13] thermal/drivers/hisi: Simplify the temperature/step computation Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 05/13] thermal/drivers/hisi: Fix multiple alarm interrupts firing Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 06/13] thermal/drivers/hisi: Remove pointless lock Daniel Lezcano
2017-09-08  3:16   ` Eduardo Valentin
2017-09-08  9:31     ` Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 07/13] thermal/drivers/hisi: Encapsulate register writes into helpers Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 08/13] thermal/drivers/hisi: Fix configuration register setting Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 09/13] thermal/drivers/hisi: Remove costly sensor inspection Daniel Lezcano
2017-09-08  3:22   ` Eduardo Valentin
2017-09-08  9:50     ` Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 10/13] thermal/drivers/hisi: Rename and remove unused field Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 11/13] thermal/drivers/hisi: Convert long to int Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 12/13] thermal/drivers/hisi: Remove thermal data back pointer Daniel Lezcano
2017-09-04 19:56 ` [PATCH V2 13/13] thermal/drivers/hisi: Remove mutex_lock in the code Daniel Lezcano
2017-09-08  3:25   ` Eduardo Valentin [this message]

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=20170908032542.GF2755@localhost.localdomain \
    --to=edubezval@gmail.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=kevin.wangtao@linaro.org \
    --cc=leo.yan@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --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 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).