Re: [PATCH v3 05/13] extcon: arizona: Always use pm_runtime_get_sync() when we need the device to be awake

From: Hans de Goede
Date: Fri Jan 22 2021 - 16:17:20 EST


Hi,

On 1/22/21 9:38 PM, Andy Shevchenko wrote:
> On Fri, Jan 22, 2021 at 6:41 PM Hans de Goede <hdegoede@xxxxxxxxxx> 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.

Right, but there were always called with the info->lock mutex held anyways,
so no change there.

> Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>

Thank you.

Regards,

Hans



>
>>
>> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
>> ---
>> 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
>>
>
>