[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <22018fcb-ac96-8cc4-c432-770962b37ef4@samsung.com>
Date: Fri, 12 Apr 2019 09:38:12 +0900
From: Chanwoo Choi <cw00.choi@...sung.com>
To: Charles Keepax <ckeepax@...nsource.cirrus.com>,
myungjoo.ham@...sung.com
Cc: linux-kernel@...r.kernel.org, patches@...nsource.cirrus.com
Subject: Re: [PATCH] extcon: arizona: Disable mic detect if running when
driver is removed
Hi Charles,
On 19. 4. 5. 오전 1:33, Charles Keepax wrote:
> Microphone detection provides the button detection features on the
> Arizona CODECs as such it will be running if the jack is currently
> inserted. If the driver is unbound whilst the jack is still inserted
> this will cause warnings from the regulator framework as the MICVDD
> regulator is put but was never disabled.
>
> Correct this by disabling microphone detection on driver removal and if
> the microphone detection was running disable the regulator and put the
> runtime reference that was currently held.
>
> Signed-off-by: Charles Keepax <ckeepax@...nsource.cirrus.com>
> ---
> drivers/extcon/extcon-arizona.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
> index da0e9bc4262fa..9327479c719c2 100644
> --- a/drivers/extcon/extcon-arizona.c
> +++ b/drivers/extcon/extcon-arizona.c
> @@ -1726,6 +1726,16 @@ static int arizona_extcon_remove(struct platform_device *pdev)
> struct arizona_extcon_info *info = platform_get_drvdata(pdev);
> struct arizona *arizona = info->arizona;
> int jack_irq_rise, jack_irq_fall;
> + bool change;
> +
> + regmap_update_bits_check(arizona->regmap, ARIZONA_MIC_DETECT_1,
> + ARIZONA_MICD_ENA, 0,
> + &change);
> +
> + if (change) {
> + regulator_disable(info->micvdd);
> + pm_runtime_put(info->dev);
> + }>
> gpiod_put(info->micd_pol_gpio);
>
>
Applied it.
IMO, I think that this driver have to handle the exception handling
when regmap_update_bits_check() returns error or 'change' value
is not changed. This driver have same issue about exception handling
on multiple places. Please take it on separate patche.
--
Best Regards,
Chanwoo Choi
Samsung Electronics
Powered by blists - more mailing lists