Re: gpios search behaviour for gpio from _DSD

From: Mika Westerberg
Date: Thu Sep 24 2015 - 04:43:43 EST


On Thu, Sep 24, 2015 at 09:25:06AM +0200, Olliver Schinagl wrote:
> Hey list, Mika,
>
> With commit 0d9a693cc86 the following snippet of code was added:
>
> + /* Try first from _DSD */
> + for (i = 0; i < ARRAY_SIZE(suffixes); i++) {
> + if (con_id && strcmp(con_id, "gpios")) {
> + snprintf(propname, sizeof(propname), "%s-%s",
> + con_id, suffixes[i]);
>
> and I was wondering why the gpios suffix is singled out. Are we not allowed
> to check for all the strings in the suffixes array? Is gpios special or is
> gpio simply not allowed. If that strcmp check would be removed, would bad
> things happen?

We default to "gpios". So if you pass "reset" we actually look for
proprerty "reset-gpios". This is the recommend syntax AFAIK.

> Also, just to educate myself, isn't relying on left to right parsing
> complier specifc? E.g. if con_id is null, we end up passing NULL to strcmp
> and atleast for libc can cause segfaults iirc.

'&&' is so called short circuit operator so if we already know that
con_id is NULL we never evaluate the remaining conditions.
--
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/