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

From: Opensource [Steve Twiss]
Date: Tue May 05 2015 - 05:19:41 EST


On 05 May 2015 09:52 Geert Uytterhoeven wrote:

> 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.
>

Thanks Geert,

I will do that.
I'll wait a while to see if there are any other responses (e.g. OnKey) and then make a new
patch set called PATCH V4.

Regards,
Steve

CC: Dmitry Torokhov for information on these MFD changes since they also relate to the
OnKey.