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. Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > > 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 > -- With Best Regards, Andy Shevchenko