[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75VdPVNMvQnkOr2YOL_VirwS7QxKfG5A9P-P8q2suK=J9dw@mail.gmail.com>
Date: Fri, 22 Jan 2021 22:38:29 +0200
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Hans de Goede <hdegoede@...hat.com>
Cc: Lee Jones <lee.jones@...aro.org>,
Cezary Rojewski <cezary.rojewski@...el.com>,
Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Liam Girdwood <liam.r.girdwood@...ux.intel.com>,
Jie Yang <yang.jie@...ux.intel.com>,
Mark Brown <broonie@...nel.org>, patches@...nsource.cirrus.com,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Charles Keepax <ckeepax@...nsource.cirrus.com>,
ALSA Development Mailing List <alsa-devel@...a-project.org>
Subject: Re: [PATCH v3 05/13] extcon: arizona: Always use pm_runtime_get_sync()
when we need the device to be awake
On Fri, Jan 22, 2021 at 6:41 PM Hans de Goede <hdegoede@...hat.com> wrote:
>
> Before this commit the extcon-arizona code was mixing pm_runtime_get()
> and pm_runtime_get_sync() in different places.
>
> In all places where pm_runtime_get[_sync]() is called, the code
> makes use of the device immediately after the call.
> This means that we should always use pm_runtime_get_sync().
I think it implies the non-atomic (may sleep) context in the below functions.
Reviewed-by: Andy Shevchenko <andy.shevchenko@...il.com>
>
> Signed-off-by: Hans de Goede <hdegoede@...hat.com>
> ---
> Changes in v3:
> - This is a new patch in v3 of this patch-set
> ---
> drivers/extcon/extcon-arizona.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index 72d23b15108c..56d2ce05de50 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -290,7 +290,7 @@ static void arizona_start_mic(struct arizona_extcon_info *info)
> unsigned int mode;
>
> /* Microphone detection can't use idle mode */
> - pm_runtime_get(info->dev);
> + pm_runtime_get_sync(info->dev);
>
> if (info->detecting) {
> ret = regulator_allow_bypass(info->micvdd, false);
> @@ -695,7 +695,7 @@ static void arizona_identify_headphone(struct arizona_extcon_info *info)
> dev_dbg(arizona->dev, "Starting HPDET\n");
>
> /* Make sure we keep the device enabled during the measurement */
> - pm_runtime_get(info->dev);
> + pm_runtime_get_sync(info->dev);
>
> info->hpdet_active = true;
>
> --
> 2.28.0
>
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists