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

From: Andy Shevchenko
Date: Fri Oct 19 2018 - 09:43:36 EST


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.

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

--
With Best Regards,
Andy Shevchenko