Re: [PATCH 11/15] x86, olpc: Use a correct version when making up a battery node

From: Lubomir Rintel
Date: Wed Nov 14 2018 - 11:49:46 EST


Hello,

On Fri, 2018-10-19 at 16:43 +0300, Andy Shevchenko wrote:
> On Wed, Oct 10, 2018 at 8:23 PM Lubomir Rintel <lkundrak@xxxxx>
> wrote:
> > The XO-1 and XO-1.5 batteries apparently differ in an ability to
> > report
> > ambient temperature. Add a different compatible string to the 1.5
> > battery.
> > +int olpc_dt_compatible_match(phandle node, const char *compat)
> > {
> > char buf[64];
> > + int plen;
> > + char *p;
> > + int len;
> > +
> > + plen = olpc_dt_getproperty(node, "compatible", buf,
> > sizeof(buf));
> > + if (plen <= 0)
> > + return 0;
> > +
> > + len = strlen(compat);
> > + for (p = buf; p < buf + plen; p += strlen(p) + 1) {
> > + if (strcmp(p, compat) == 0)
> > + return 1;
> > + }
> > +
> > + return 0;
> > +}
>
> DT doesn't still have a helper for that?!
> I hardly believe in that.

There indeed is of_device_compatible_match() (and
of_find_node_by_phandle() for that matter).

However, these fixups are executed before the DT is built with
of_pdt_build_devicetree(), so I don't think any of_*() routines can be
used at that point.

> > + olpc_dt_interpret("\" /battery@0\" find-device"
> > + " \" olpc,xo1.5-battery\" +compatible"
> > + " device-end");
>
> Please, don't split string literals.
>
> > olpc_dt_interpret("\" /pci/display@1\" find-device"
> > " new-device"
> > " \" dcon\" device-name \" olpc,xo1-dcon\"
> > +compatible"
> > " finish-device device-end");
>
> Yeah, this and similar also needs to be fixed.

Okay.

Thank you
Lubo