Hi Thierry,
On Mon, Aug 18, 2014 at 10:20 AM, Thierry Reding
[off-list ref] wrote:
Could we achieve the same by storing a pointer to the best match and
then use that instead of p? Perhaps something like this:
struct pwm_lookup *entry;
...
if (match > best) {
chip = pwmchip_find_by_name(p->provider);
entry = p;
if (match != 3)
best = match;
else
break;
}
...
if (chip)
pwm = pwm_request_from_chip(chip, entry->index,
con_id ?: dev_id);
if (IS_ERR(pwm))
return pwm;
pwm_set_period(pwm, entry->period);
pwm_set_polarity(pwm, entry->polarity);
?
That's possible. But that will add complexity, as you have to move the
"mutex_unlock(&pwm_lookup_lock);" after the last user of "entry" again,
and add a goto for the IS_ERR(pwm) case.
So I'm not sure it's worth the effort.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds