linux-leds.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali.rohar@gmail.com>
To: Hans de Goede <hdegoede@redhat.com>
Cc: Darren Hart <dvhart@infradead.org>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	Richard Purdie <rpurdie@rpsys.net>,
	Jacek Anaszewski <j.anaszewski@samsung.com>,
	platform-driver-x86@vger.kernel.org, linux-leds@vger.kernel.org
Subject: Re: [PATCH v2 3/4] platform: x86: dell-*: Call led_notify_brightness_change on kbd brightness change
Date: Mon, 24 Oct 2016 15:51:01 +0200	[thread overview]
Message-ID: <20161024135101.GF12154@pali> (raw)
In-Reply-To: <48df1537-4f76-6c7b-cb50-9c1aeaf41b6c@redhat.com>

On Monday 24 October 2016 15:43:50 Hans de Goede wrote:
> Hi,
> 
> On 24-10-16 15:34, Pali Rohár wrote:
> >On Sunday 23 October 2016 21:46:51 Hans de Goede wrote:
> >>diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
> >>index da2fe18..f86e774 100644
> >>--- a/drivers/platform/x86/dell-wmi.c
> >>+++ b/drivers/platform/x86/dell-wmi.c
> >>@@ -319,6 +319,11 @@ static void dell_wmi_process_key(int type, int code)
> >> 	if (type == 0x0000 && code == 0xe025 && !wmi_requires_smbios_request)
> >> 		return;
> >>
> >>+	if (type == 0x0011 && (code == 0x01e1 || code == 0x02ea ||
> >>+			 code == 0x02eb || code == 0x02ec || code == 0x02f6))
> >>+		dell_smbios_call_notifier(
> >>+			dell_smbios_kbd_backlight_brightness_changed, NULL);
> >>+
> >> 	sparse_keymap_report_entry(dell_wmi_input_dev, key, 1, true);
> >> }
> >>
> >
> >This part of patch is ugly. Some random numbers are checked and then
> >notifier is called. We already have big table with explanation of those
> >events... It is not possible to extend it with some flag or somehow
> >other that value should be called via notifier?
> 
> Nope, sparse_keymaps are a well defined API for, well, keymaps! The problem
> really is this commit:
> 
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/platform/x86?id=e075b3c898e4055ec62a1f0ed7f3b8e62814bfb6
> 
> Which mixes status-events and key-press events in one sparse-keymap,
> which happens to work because so far all the status events are
> using { KE_IGNORE, 0x...., { KEY_RESERVED } }, but now we want to
> actually do something and that shows that the above commit really
> is a bad idea (at least for the 0x0011 type events, if we (partially)
> revert that, then the ugly if goes away and I can simply insert
> the dell_smbios_call_notifier() above the break in the original
> switch-case handling for 0x0011 type events.
> 
> So shall I revert the 0011 part of the mentioned commit?

Does not help us, because keyboard backlight change event is also in
dell_wmi_keymap_type_0000 table.

Another idea: instead of struct key_entry create new structure which
reflect information which comes from dell's WMI:
u16 type (key, event or ignore)
u16 code (wmi code)
union { key, event } (linux keycode or enum notifier event)

-- 
Pali Rohár
pali.rohar@gmail.com

  reply	other threads:[~2016-10-24 13:51 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-23 19:46 [PATCH v2 1/4] leds: core: Add support for poll()ing the sysfs brightness attr for changes Hans de Goede
2016-10-23 19:46 ` [PATCH v2 2/4] platform: x86: dell-smbios: Add a generic dell-smbios notifier chain Hans de Goede
2016-10-24 13:31   ` Pali Rohár
2016-10-24 13:37     ` Hans de Goede
2016-10-24 13:43       ` Pali Rohár
2016-10-24 13:45         ` Hans de Goede
2016-10-27 10:32           ` Pali Rohár
2016-10-27 12:45             ` Hans de Goede
2016-10-27 12:51               ` Pali Rohár
2016-10-27 12:54                 ` Hans de Goede
2016-10-27 12:57                   ` Pali Rohár
2016-10-23 19:46 ` [PATCH v2 3/4] platform: x86: dell-*: Call led_notify_brightness_change on kbd brightness change Hans de Goede
2016-10-24 13:34   ` Pali Rohár
2016-10-24 13:43     ` Hans de Goede
2016-10-24 13:51       ` Pali Rohár [this message]
2016-10-24 13:57         ` Hans de Goede
2016-10-24 14:10           ` Pali Rohár
2016-10-23 19:46 ` [PATCH v2 4/4] platform: x86: dell-*: Simplify dell-rbtn integration with dell-laptop [untested] Hans de Goede
2016-10-24 20:43 ` [PATCH v2 1/4] leds: core: Add support for poll()ing the sysfs brightness attr for changes Jacek Anaszewski
2016-10-26 15:18   ` Hans de Goede
2016-10-27  6:58     ` Jacek Anaszewski
2016-10-27  7:33       ` Hans de Goede
2016-10-27  8:03         ` Jacek Anaszewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161024135101.GF12154@pali \
    --to=pali.rohar@gmail.com \
    --cc=dvhart@infradead.org \
    --cc=hdegoede@redhat.com \
    --cc=j.anaszewski@samsung.com \
    --cc=linux-leds@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=rpurdie@rpsys.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).