On Fri, Nov 20, 2015 at 04:55:06PM -0700, Azael Avalos wrote: > Hi Darren, > > 2015-11-20 16:39 GMT-07:00 Darren Hart <dvhart@xxxxxxxxxxxxx>: > > On Mon, Nov 16, 2015 at 12:59:31PM -0700, Azael Avalos wrote: > >> Certain Toshiba models with the second generation keyboard backlight > >> (type 2) do not generate the keyboard backlight changed event (0x92), > >> and thus, the sysfs entries are never being updated. > >> > >> This patch adds a workquee and a global boolean variable to address > >> the issue. > >> > >> For those models that do generate the event, the sysfs entries are > >> being updated via the *notify function and the boolean is set to > >> true to avoid a second call to update the entries. > >> > >> For those models that do not generate the event, the workquee is > >> used to update the sysfs entries and also to emulate the event via > >> netlink, to make userspace aware of such change. > > > > Thanks Azael, > > > > Rather than ask you to wait while I research workqueues and their use more, what > > is it about this task that requires a workqueue? Why can we not call what's in > > the workqueue below directly from the kbd_backlight_mode_store sysfs write > > callback? > > I used the workquee to let the sysfs *store function to finish w/o affecting > the "refresh" of the sysfs entries. > > Previously the sysfs_update_group resided inside the *store function, > but caused a lock everytime the keyboard mode was changed, and the > sysfs entries were never updated, this was fixed by moving such function > to the *notify function, but turns out that some models do not fire such > event. OK, got it - thanks. Now: drivers/platform/x86/toshiba_acpi.c: In function ‘toshiba_acpi_kbd_bl_work’: drivers/platform/x86/toshiba_acpi.c:1547:12: error: ‘toshiba_attr_group’ undeclared (first use in this function) &toshiba_attr_group)) ^ Looks like your static global declaration just comes too late, but... how did this compile for you? -- Darren Hart Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html