Re: [PATCH 3/4] iio: adc: mediatek: SET_LATE_SYSTEM_SLEEP_PM_OPS support

From: Matthias Brugger
Date: Wed May 22 2019 - 12:31:40 EST




On 20/05/2019 08:03, Chun-Hung Wu wrote:
> Hi Jonathan:
>
> Thanks for the prompt reply,
>
> On Sat, 2019-05-18 at 11:35 +0100, Jonathan Cameron wrote:
>> On Thu, 16 May 2019 16:10:46 +0800
>> Chun-Hung Wu <chun-hung.wu@xxxxxxxxxxxx> wrote:
>>
>>> Move suspend/resume to late_suspend and
>>> early_resume to gurantee users can use auxadc
>> guarantee
>>
> will fix it in next version.
>>> driver at suspend/resume stage.
>> No problem with the patch content, but we need a reason why they may
>> want to do so?
> Our thermal drivers uses auxadc at suspend/resume stage.
> In order to avoid auxadc suspended prior to thermal driver,
> we move auxadc to late_suspend and early_resume.
>

That sounds like a user of device_links [1] to me.

[1] https://www.kernel.org/doc/html/latest/driver-api/device_link.html

> Thanks,
> Chun-Hung
>>
>> Thanks,
>>
>> Jonathan
>>>
>>> Signed-off-by: Chun-Hung Wu <chun-hung.wu@xxxxxxxxxxxx>
>>> ---
>>> drivers/iio/adc/mt6577_auxadc.c | 7 ++++---
>>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/iio/adc/mt6577_auxadc.c b/drivers/iio/adc/mt6577_auxadc.c
>>> index e1bdcc0..58d7cb2 100644
>>> --- a/drivers/iio/adc/mt6577_auxadc.c
>>> +++ b/drivers/iio/adc/mt6577_auxadc.c
>>> @@ -326,9 +326,10 @@ static int mt6577_auxadc_remove(struct platform_device *pdev)
>>> return 0;
>>> }
>>>
>>> -static SIMPLE_DEV_PM_OPS(mt6577_auxadc_pm_ops,
>>> - mt6577_auxadc_suspend,
>>> - mt6577_auxadc_resume);
>>> +static const struct dev_pm_ops mt6577_auxadc_pm_ops = {
>>> + SET_LATE_SYSTEM_SLEEP_PM_OPS(mt6577_auxadc_suspend,
>>> + mt6577_auxadc_resume)
>>> +};
>>>
>>> static const struct of_device_id mt6577_auxadc_of_match[] = {
>>> { .compatible = "mediatek,mt2701-auxadc", .data = &mt8173_compat},
>>
>
>