Re: [PATCH] Route kbd LEDs through the generic LEDs layer

From: Samuel Thibault
Date: Mon Jul 15 2013 - 15:08:26 EST


Hello,

David Herrmann, le Mon 15 Jul 2013 17:03:08 +0200, a écrit :
> > @@ -13,6 +13,10 @@
> > bool "Virtual terminal" if EXPERT
> > depends on !S390 && !UML
> > select INPUT
> > + select NEW_LEDS
> > + select LEDS_CLASS
> > + select LEDS_TRIGGERS
> > + select INPUT_LEDS
>
> This looks odd. Any dependency changes in the input-layer will break
> this. But I guess that's what we get for a non-recursive "select". Hmm

Yes, that's the issue.

> I also think that the macros don't really simplify this. So:
> [VC_SHIFTLOCK] = { .name = "shiftlock", .activate =
> kbd_lockstate_trigger_activate },
> isn't much longer than:
> DEFINE_LOCKSTATE_TRIGGER(VC_SHIFTLOCK, "shiftlock"),

That makes it more than 80 columns, at least.

> > + for (i = 0; i < ARRAY_SIZE(ledtrig_ledstate); i++)
> > + led_trigger_register(&ledtrig_ledstate[i]);
> > + for (i = 0; i < ARRAY_SIZE(ledtrig_lockstate); i++)
> > + led_trigger_register(&ledtrig_lockstate[i]);
> > +
>
> This returns "int", are you sure no error-handling is needed?

ATM only registering the same name several times can happen, and
shouldn't ever happen. But better warn than be sorry, indeed.

> > + * Keyboard LEDs are propagated by default like the following example:
> > + *
> > + * VT keyboard numlock trigger
> > + * -> vt::numl VT LED
> > + * -> vt-numl VT trigger
>
> Nitpick: What's the reason for the syntax difference? "vt-numl" vs. "vt::numl"

vt::numl is a clear LED classification convention. For triggers, I don't
see a clear convention, but at least I have never seen "::", only "-".
That makes me realize that for keyboard triggers I haven't introduced a
prefix, and only used "scrollock", "numlock", etc. Perhaps
"kbd-scrollock" etc. or (in phase with LEDs), "kbd::scrollock" etc.?

Samuel
--
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/