From: javier.martinez@collabora.co.uk (Javier Martinez Canillas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 07/14] mfd: Add driver for Maxim 77802 Power Management IC
Date: Thu, 26 Jun 2014 18:36:19 +0200 [thread overview]
Message-ID: <53AC4C03.7080000@collabora.co.uk> (raw)
In-Reply-To: <CAD=FV=Xtkfa5yJSWYDcBvBycMqN-U5F-vdbJeo1h3ksCbqkqgw@mail.gmail.com>
Hello Doug,
On 06/26/2014 06:29 PM, Doug Anderson wrote:
> Javier,
>
> On Thu, Jun 26, 2014 at 9:18 AM, Javier Martinez Canillas
> <javier.martinez@collabora.co.uk> wrote:
>> Hello Doug,
>>
>> On 06/26/2014 06:12 PM, Doug Anderson wrote:
>>> Javier,
>>>
>>> On Thu, Jun 26, 2014 at 4:13 AM, Javier Martinez Canillas
>>> <javier.martinez@collabora.co.uk> wrote:
>>>>>> +
>>>>>> +#ifdef CONFIG_PM_SLEEP
>>>>>> +static int max77802_suspend(struct device *dev)
>>>>>> +{
>>>>>> + struct i2c_client *i2c = container_of(dev, struct i2c_client, dev);
>>>>>> + struct max77802_dev *max77802 = i2c_get_clientdata(i2c);
>>>>>> +
>>>>>> + if (device_may_wakeup(dev))
>>>>>> + enable_irq_wake(max77802->irq);
>>>>>> +
>>>>>> + disable_irq(max77802->irq);
>>>>>
>>>>> Can you add short comment why this is needed? I know why but just for
>>>>> future generations which will wonder: "why do we need to disable the IRQ
>>>>> while suspending?" :). Especially that this is rather a workaround for
>>>>> issue in other driver (I2C bus).
>>>>>
>>>>
>>>> Good idea, I'll add a comment here on next version so code archaeologists can
>>>> figure out what what's going on here.
>>>
>>> Is the disable_irq() needed if you have
>>> <https://patchwork.kernel.org/patch/4421891/>?
>>>
>>
>> Probably not but I added the following comment:
>>
>> /*
>> * The IRQ must be disabled during suspend since due wakeup
>> * ordering issues it may be possible that the I2C controller
>> * is still suspended when the interrupt happens so the IRQ
>> * handler will fail to read the I2C bus.
>> */
>> disable_irq(max77802->irq);
>>
>> since in theory this PMIC can be used in other SoCs besides
>> Exynos5420/Exynos5800 and it may be possible that the I2C controller driver for
>> these other SoCs may not resume at noirq time.
>>
>> But on a second thought, this PMIC seems to be designed specially for these two
>> Exynos SoCs so I guess it's safe to assume that it is not needed?
>
> Right, there's a close coupling between PMICs and SoCs. The PMIC has
> special sequencing and default voltage levels that were tuned exactly
> for this SoC.
>
> Note: Wolfram has not actually responded to my patch much less
> accepted it. It's entirely possible that in another month or two
> we'll hear back a big fat NAK. In that case your solution will be the
> best one I can think of.
>
Ok, in that case I'll leave as is for now and add the comment but later once/if
your patch is merged, this can be removed.
>
> -Doug
>
Best regards,
Javier
next prev parent reply other threads:[~2014-06-26 16:36 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-25 19:03 [PATCH v4 00/14] Add Maxim 77802 PMIC support Javier Martinez Canillas
2014-06-25 19:03 ` [PATCH v4 01/14] mfd: max77686: Convert to use regmap_irq Javier Martinez Canillas
2014-06-25 19:03 ` [PATCH v4 02/14] mfd: max77686: Allow the max77686 rtc to wakeup the system Javier Martinez Canillas
2014-06-26 9:03 ` Krzysztof Kozlowski
2014-06-25 19:03 ` [PATCH v4 03/14] clk: max77686: Add DT include for MAX77686 PMIC clock Javier Martinez Canillas
2014-06-25 19:03 ` [PATCH v4 04/14] clk: max77686: Improve Maxim 77686 PMIC clocks binding Javier Martinez Canillas
2014-06-25 19:54 ` Doug Anderson
2014-06-25 19:03 ` [PATCH v4 05/14] clk: Add generic driver for Maxim PMIC clocks Javier Martinez Canillas
2014-06-26 9:00 ` Krzysztof Kozlowski
2014-06-26 11:51 ` Yadwinder Singh Brar
2014-06-26 12:31 ` Javier Martinez Canillas
2014-06-25 19:03 ` [PATCH v4 06/14] clk: max77686: Convert to the generic max clock driver Javier Martinez Canillas
2014-06-25 19:03 ` [PATCH v4 07/14] mfd: Add driver for Maxim 77802 Power Management IC Javier Martinez Canillas
2014-06-26 9:31 ` Krzysztof Kozlowski
2014-06-26 11:13 ` Javier Martinez Canillas
2014-06-26 16:12 ` Doug Anderson
2014-06-26 16:18 ` Javier Martinez Canillas
2014-06-26 16:29 ` Doug Anderson
2014-06-26 16:36 ` Javier Martinez Canillas [this message]
2014-06-25 19:03 ` [PATCH v4 08/14] mfd: max77802: Add DT binding documentation Javier Martinez Canillas
2014-06-25 19:03 ` [PATCH v4 09/14] regmap: Add regmap_reg_copy function Javier Martinez Canillas
2014-06-25 19:03 ` [PATCH v4 10/14] regulator: Add driver for Maxim 77802 PMIC regulators Javier Martinez Canillas
2014-06-26 10:08 ` Krzysztof Kozlowski
2014-06-26 11:26 ` Javier Martinez Canillas
2014-06-25 19:03 ` [PATCH v4 11/14] clk: Add driver for Maxim 77802 PMIC clocks Javier Martinez Canillas
2014-06-26 10:40 ` Krzysztof Kozlowski
2014-06-25 19:03 ` [PATCH v4 12/14] clk: max77802: Add DT binding documentation Javier Martinez Canillas
2014-06-25 19:03 ` [PATCH v4 13/14] rtc: Add driver for Maxim 77802 PMIC Real-Time-Clock Javier Martinez Canillas
2014-06-25 19:03 ` [PATCH v4 14/14] ARM: dts: Add max77802 to exynos5420-peach-pit and exynos5800-peach-pi Javier Martinez Canillas
2014-06-26 13:32 ` [PATCH v4 00/14] Add Maxim 77802 PMIC support Naveen Krishna Ch
2014-06-26 13:56 ` Javier Martinez Canillas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53AC4C03.7080000@collabora.co.uk \
--to=javier.martinez@collabora.co.uk \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).