On Fri, Jun 16, 2017 at 3:52 PM, Pali Rohár <pali.rohar@xxxxxxxxx> wrote: > Should not this check to be rather: > > (kbd_token_bits != 0 && (kbd_token_bits & BIT(KBD_LED_OFF_TOKEN)) != BIT(KBD_LED_OFF_TOKEN)) > > To express that we have at least one token at it is different from > KBD_LED_OFF_TOKEN token? Yes, this expresses the intention more clearly. I'll use it instead. > >> kbd_led_present = true; >> } >> > > And more important, there are three ways how to control keyboard > backlight level: > > 1) Via SMBIOS token > 2) Via SMBIOS call 4/11/0x2 (arg2, byte0) > 3) Via SMBIOS call 4/11/0x2 (arg3, byte2) > > You are adding special case when only one SMBIOS toekn OFF is present > which belongs to 1). > > Therefore there should be same check for 2) and 3) that there are more > the one option to set... I am not familiar with SMBIOS call. Can you point out where 2) and 3) functions are? > > -- > Pali Rohár > pali.rohar@xxxxxxxxx