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

From: Geert Uytterhoeven
Date: Tue May 05 2015 - 04:52:43 EST


Hi Steve,

On Tue, May 5, 2015 at 10:36 AM, Opensource [Steve Twiss]
<stwiss.opensource@xxxxxxxxxxx> wrote:
> On 04 May 2015 08:47, Geert Uytterhoeven wrote:
>> On Thu, Apr 30, 2015 at 1:26 PM, S Twiss <stwiss.opensource@xxxxxxxxxxx>
>> wrote:
>> > Add MFD support for the DA9063 OnKey driver

>> > +static int da9063_clear_fault_log(struct da9063 *da9063)
>> > +{

>> > +}
>> > +
>> > 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@xxxxxxxxxxxxxx

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/