[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <223422cc-2a1c-417b-8fa1-20d3b3eb41ef@bootlin.com>
Date: Fri, 19 Jan 2024 17:08:11 +0100
From: Thomas Richard <thomas.richard@...tlin.com>
To: Andy Shevchenko <andy.shevchenko@...il.com>
Cc: Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>, Andy Shevchenko <andy@...nel.org>,
Tony Lindgren <tony@...mide.com>, Haojian Zhuang
<haojian.zhuang@...aro.org>, Vignesh R <vigneshr@...com>,
Aaro Koskinen <aaro.koskinen@....fi>,
Janusz Krzysztofik <jmkrzyszt@...il.com>, Andi Shyti
<andi.shyti@...nel.org>, Peter Rosin <peda@...ntia.se>,
Vinod Koul <vkoul@...nel.org>, Kishon Vijay Abraham I <kishon@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>, Tom Joseph <tjoseph@...ence.com>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Krzysztof Wilczyński <kw@...ux.com>,
Rob Herring <robh@...nel.org>, Bjorn Helgaas <bhelgaas@...gle.com>,
linux-gpio@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-omap@...r.kernel.org,
linux-i2c@...r.kernel.org, linux-phy@...ts.infradead.org,
linux-pci@...r.kernel.org, gregory.clement@...tlin.com,
theo.lebrun@...tlin.com, thomas.petazzoni@...tlin.com, u-kumar1@...com
Subject: Re: [PATCH 02/14] pinctrl: pinctrl-single: move suspend/resume to
suspend_noirq/resume_noirq
On 1/15/24 21:02, Andy Shevchenko wrote:
> On Mon, Jan 15, 2024 at 6:16 PM Thomas Richard
> <thomas.richard@...tlin.com> wrote:
>>
>> The goal is to extend the active period of pinctrl.
>> Some devices may need active pinctrl after suspend and/or before resume.
>> So move suspend/resume to suspend_noirq/resume_noirq to have active
>> pinctrl until suspend_noirq (included), and from resume_noirq
>> (included).
>
> ->...callback...()
> (Same comment I have given for the first patch)
fixed
>
> ...
>
>> struct pcs_device *pcs;
>>
>> - pcs = platform_get_drvdata(pdev);
>> + pcs = dev_get_drvdata(dev);
>> if (!pcs)
>> return -EINVAL;
>
> Drop dead code.
> This should be simple one line after your change.
>
> struct pcs_device *pcs = dev_get_drvdata(dev);
>
dead code dropped
> ...
>
>> struct pcs_device *pcs;
>>
>> - pcs = platform_get_drvdata(pdev);
>> + pcs = dev_get_drvdata(dev);
>> if (!pcs)
>> return -EINVAL;
>
> Ditto.
>
> ...
dead code dropped
>
>> +static const struct dev_pm_ops pinctrl_single_pm_ops = {
>> + SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(pinctrl_single_suspend_noirq,
>> + pinctrl_single_resume_noirq)
>> +};
>
> Use proper / modern macro.
fixed, use DEFINE_NOIRQ_DEV_PM_OPS now
>
> ...
>
>> #endif
>
> Why ifdeferry is needed (esp. taking into account pm_ptr() use below)?
We may have an "unused variable" warning for pinctrl_single_pm_ops if
CONFIG_PM is undefined (due to pm_ptr).
--
Thomas Richard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Powered by blists - more mailing lists