[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0be344a2-9878-2b92-9436-bc2f4d4fd6e0@microchip.com>
Date: Mon, 18 Jun 2018 15:00:06 +0300
From: Claudiu Beznea <Claudiu.Beznea@...rochip.com>
To: Marek Vasut <marek.vasut@...il.com>,
Boris Brezillon <boris.brezillon@...tlin.com>
CC: <dwmw2@...radead.org>, <computersforpeace@...il.com>,
<richard@....at>, <nicolas.ferre@...rochip.com>,
<alexandre.belloni@...tlin.com>, <linux-mtd@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v2] mtd: atmel-quadspi: add suspend/resume hooks
On 18.06.2018 12:53, Marek Vasut wrote:
> On 06/18/2018 11:49 AM, Boris Brezillon wrote:
>> Hi Claudiu,
>>
>> The subject prefix should be "mtd: spi-nor: atmel-quadspi: ". No need
>> to send a new version just for that, I'll fix it when applying the
>> patch.
>>
Hi Boris,
Thank you!
>> Looks good otherwise. Marek, any objection? If not, can you add your
>> Acked-by?
>
> Will this work if you have ie. ubifs mounted on that QSPI NOR and you
> suspect and resume during IO ? I think it would, but just curious if
> there could be some problem.
Hi Marek,
I tested only with read/writes while suspending, simple scripts, but not
having ubifs mounted on QSPI NOR. I will double check also with ubifs
mounted on QSPI NOR and come back with the results.
Thank you,
Claudiu
>
>> Thanks,
>>
>> Boris
>>
>> On Mon, 4 Jun 2018 11:46:33 +0300
>> Claudiu Beznea <claudiu.beznea@...rochip.com> wrote:
>>
>>> Implement suspend/resume hooks.
>>>
>>> Signed-off-by: Claudiu Beznea <claudiu.beznea@...rochip.com>
>>> ---
>>>
>>> Changes in v2:
>>> - use __maybe_unused instead of #ifdef CONFIG_PM_SLEEP
>>>
>>> drivers/mtd/spi-nor/atmel-quadspi.c | 21 +++++++++++++++++++++
>>> 1 file changed, 21 insertions(+)
>>>
>>> diff --git a/drivers/mtd/spi-nor/atmel-quadspi.c b/drivers/mtd/spi-nor/atmel-quadspi.c
>>> index 6c5708bacad8..ceaaef47f02e 100644
>>> --- a/drivers/mtd/spi-nor/atmel-quadspi.c
>>> +++ b/drivers/mtd/spi-nor/atmel-quadspi.c
>>> @@ -737,6 +737,26 @@ static int atmel_qspi_remove(struct platform_device *pdev)
>>> return 0;
>>> }
>>>
>>> +static int __maybe_unused atmel_qspi_suspend(struct device *dev)
>>> +{
>>> + struct atmel_qspi *aq = dev_get_drvdata(dev);
>>> +
>>> + clk_disable_unprepare(aq->clk);
>>> +
>>> + return 0;
>>> +}
>>> +
>>> +static int __maybe_unused atmel_qspi_resume(struct device *dev)
>>> +{
>>> + struct atmel_qspi *aq = dev_get_drvdata(dev);
>>> +
>>> + clk_prepare_enable(aq->clk);
>>> +
>>> + return atmel_qspi_init(aq);
>>> +}
>>> +
>>> +static SIMPLE_DEV_PM_OPS(atmel_qspi_pm_ops, atmel_qspi_suspend,
>>> + atmel_qspi_resume);
>>>
>>> static const struct of_device_id atmel_qspi_dt_ids[] = {
>>> { .compatible = "atmel,sama5d2-qspi" },
>>> @@ -749,6 +769,7 @@ static struct platform_driver atmel_qspi_driver = {
>>> .driver = {
>>> .name = "atmel_qspi",
>>> .of_match_table = atmel_qspi_dt_ids,
>>> + .pm = &atmel_qspi_pm_ops,
>>> },
>>> .probe = atmel_qspi_probe,
>>> .remove = atmel_qspi_remove,
>
>
Powered by blists - more mailing lists