Re: [PATCH 1/2] platform/chrome: Add CrOS USB PD logging driver

From: Enric Balletbo Serra
Date: Fri Apr 05 2019 - 17:43:49 EST


Missatge de Guenter Roeck <groeck@xxxxxxxxxx> del dia dv., 5 dâabr.
2019 a les 23:38:
>
> On Fri, Apr 5, 2019 at 2:09 PM Enric Balletbo Serra <eballetbo@xxxxxxxxx> wrote:
> >
> > Hi Guenter,
> >
> > Missatge de Guenter Roeck <groeck@xxxxxxxxxx> del dia dv., 5 dâabr.
> > 2019 a les 21:59:
> > >
> > > Hi Enric,
> > >
> > > On Wed, Apr 3, 2019 at 6:54 AM Enric Balletbo i Serra
> > > <enric.balletbo@xxxxxxxxxxxxx> wrote:
> > > >
> > > > From: Guenter Roeck <groeck@xxxxxxxxxxxx>
> > > >
> > > > The CrOS USB PD logging feature is logically separate functionality of
> > > > the charge manager, hence has its own driver. The driver logs the event
> > > > data for the USB PD charger available in some ChromeOS Embedded
> > > > Controllers.
> > > >
> > > > Signed-off-by: Guenter Roeck <groeck@xxxxxxxxxxxx>
> > > > [remove APPEND_STRING macro and minor cleanups]
> > > > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx>
> > > > ---
> > > >
> > > [ ... ]
> > >
> > > > +
> > > > +static void cros_usbpd_print_log_entry(struct ec_response_pd_log *r,
> > > > + ktime_t tstamp)
> > > > +{
> > > [ ... ]
> > > > +
> > > > + pr_info("PDLOG %d/%02d/%02d %02d:%02d:%02d.%03lld P%d %s\n",
> > > > + rt.tm_year + 1900, rt.tm_mon + 1, rt.tm_mday,
> > > > + rt.tm_hour, rt.tm_min, rt.tm_sec,
> > > > + ktime_to_ms(tstamp) % MSEC_PER_SEC,
> > >
> > > 0day rightfully complains that this introduces a 64-bit divide
> > > operation. I don't know if do_div() works here since it tries to
> > > modify the first parameter. Maybe we need an interim variable to store
> > > ktime_to_ms(tstamp). Something like
> > >
> > > s64 temp = ktime_to_ms(tstamp);
> > > ...
> > > do_div(temp, MSEC_PER_SEC),
> > >
> >
> > I did something similar this afternoon and pushed again for the auto
> > builders to play with.
> >
> > + div_s64_rem(ktime_to_ms(tstamp), MSEC_PER_SEC, &rem);
> >
> > Unfortunately, 0day now reports another error
> >
> > drivers/platform/chrome/cros_usbpd_logger.o: In function
> > `cros_usbpd_print_log_entry':
> > >> cros_usbpd_logger.c:(.text+0x5a0): undefined reference to `__aeabi_ldivmod'
> >
>
> I think that may have been with the earlier version of the code. Your
> top of tree doesn't include the SHA that is reported as failing.
>

Oh right, good, thank you for telling me, I guess is time to go to bed
for me :-)

Enric

> Guenter