Thread (8 messages) 8 messages, 2 authors, 2015-05-05

Re: [PATCH V3 3/3] mfd: da9063: MFD support for OnKey driver

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2015-05-05 08:52:41
Also in: linux-devicetree, lkml

Hi Steve,

On Tue, May 5, 2015 at 10:36 AM, Opensource [Steve Twiss]
[off-list ref] wrote:
On 04 May 2015 08:47, Geert Uytterhoeven wrote:
quoted
On Thu, Apr 30, 2015 at 1:26 PM, S Twiss [off-list ref]
wrote:
quoted
Add MFD support for the DA9063 OnKey driver
quoted
quoted
+static int da9063_clear_fault_log(struct da9063 *da9063)
+{
quoted
quoted
+}
+
 int da9063_device_init(struct da9063 *da9063, unsigned int irq)
 {
        struct da9063_pdata *pdata = da9063->dev->platform_data;
        int model, variant_id, variant_code;
        int ret;

+       ret = da9063_clear_fault_log(da9063);
+       if (ret < 0)
+               dev_err(da9063->dev, "Cannot clear fault log\n");
+
        if (pdata) {
                da9063->flags = pdata->flags;
                da9063->irq_base = pdata->irq_base;
The code above doesn't seem to match the patch description.
Can you please explain why it is needed?
Yes, at first it does seem that the fault-log clearing function is unrelated to the
"MFD support for the DA9063 OnKey driver", but there is an important connection
that makes it essential for the OnKey driver in this case.

I have made some explanation of the OnKey's operation in this thread here:
https://lkml.org/lkml/2015/4/29/406

But I only described the OnKey's point-of-view for case (4) of the "OnKey operation"
Case (4): the long-long press and no key release -- the hardware power-cut when
software is unable to respond (for whatever reason).

In this case, if the software was not responsive and a hardware shutdown of the
device was chosen, the FAULT_LOG would persist with information that would be
accessible when the device was restarted: it would be possible to take action the
next time the device was turned on again (maybe to trigger some mitigation exercise
in the bootloader -- e.g. say to complete memory checks or put the device into a
safe mode).

However this mitigation exercise and clearance of the fault-log cannot be counted on
outside the Linux kernel and so the clearance function da9063_clear_fault_log () has
been done here.

If this clearance function did not exist, then after a hardware shutdown (due to S/W
failure), the next time the device is restarted the FAULT_LOG would persist with values
from the previous error.
Thanks for your explanation!

Please add (some parts of it) to the patch description.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help