On Monday 08 June 2020 20:14:15 mario.limoncie...@dell.com wrote: > > >>> index c25a4286d766..0b4f72f923cd 100644 > > >>> --- a/drivers/platform/x86/dell-wmi.c > > >>> +++ b/drivers/platform/x86/dell-wmi.c > > >>> @@ -252,6 +252,10 @@ static const struct key_entry > > >> dell_wmi_keymap_type_0010[] = { > > >>> /* Fn-lock switched to multimedia keys */ > > >>> { KE_IGNORE, 0x1, { KEY_RESERVED } }, > > >>> > > >>> + /* Backlight brightness level */ > > >>> + { KE_KEY, 0x57, { KEY_BRIGHTNESSDOWN } }, > > >>> + { KE_KEY, 0x58, { KEY_BRIGHTNESSUP } }, > > >>> + > > > > > > For these particular events are they emitted by another interface as well > > in this > > > platform? > > > > > > If so they should be KE_IGNORE so you don't end up with double > > notifications to > > > userspace. > > Thank you both for the review, > > This is my first patch so if i am doing something wrong please let me know. > > > > Both before and after this change they are only emitted once (verified via > > showkeys) > > this is because `dell_wmi_process_key()` calls > > `acpi_video_handles_brightness_key_presses()` > > for brightness events, and `acpi_video_handles_brightness_key_presses()` > > makes sure no duplicate acpi-video events are sent. > > That's good to hear that it also filters it, but my opinion is that dell-wmi.c > should also filter it. So just change KE_KEY to KE_IGNORE like the other > events.
IIRC for other existing KEY_BRIGHTNESS* lines, KE_KEY/KE_IGNORE decision is there just because kernel can be configured if ACPI layer would handle them or not. And based on acpi_video_handles_brightness_key_presses() function we know if ACPI layer processed these keys or not. So in my opinion we should handle these new KEY_BRIGHTNESS* events in the same way. So dell-wmi should process these events, but only in case when ACPI layer did not processed them.