From: "Pali Rohár" <pali.rohar@gmail.com>
To: Gabriele Mazzotta <gabriele.mzt@gmail.com>,
Alex Hung <alex.hung@canonical.com>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>,
Darren Hart <dvhart@infradead.org>,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/3] platform: x86: dell-rbtn: Dell Airplane Mode Switch driver
Date: Wed, 29 Apr 2015 20:59:26 +0200 [thread overview]
Message-ID: <201504292059.26585@pali> (raw)
In-Reply-To: <1662732.6WCXK4FVmN@xps13>
[-- Attachment #1: Type: Text/Plain, Size: 4405 bytes --]
On Wednesday 29 April 2015 20:41:38 Gabriele Mazzotta wrote:
> On Wednesday 29 April 2015 20:16:06 Pali Rohár wrote:
> > On Wednesday 29 April 2015 20:11:38 Gabriele Mazzotta wrote:
> > > On Wednesday 29 April 2015 20:00:18 Pali Rohár wrote:
> > > > On Wednesday 29 April 2015 19:54:43 Gabriele Mazzotta
> > > > wrote:
> > > > > On Wednesday 29 April 2015 18:28:40 Pali Rohár wrote:
> > > > > > On Wednesday 29 April 2015 15:57:58 Gabriele Mazzotta
> > > > > > wrote:
> > > > > > > On Wednesday 29 April 2015 15:08:40 Pali Rohár
> > > > > > > wrote:
> > > > > > > > On Wednesday 29 April 2015 12:30:32 Gabriele
> > > > > > > > Mazzotta wrote:
> > > > > > > > > On Wednesday 29 April 2015 11:51:04 Pali Rohár
> > > > > > > > > wrote:
> > > > > > > > > > This is an ACPI driver for Dell laptops
> > > > > > > > > > which receive HW switch events. It exports
> > > > > > > > > > rfkill device dell-rbtn which provide
> > > > > > > > > > correct hard rfkill state.
> > > > > > > > > >
> > > > > > > > > > Alex Hung added code for supporting Dell
> > > > > > > > > > laptops which have toggle button instead HW
> > > > > > > > > > slider switch. On these laptops toggle
> > > > > > > > > > button event is reported by new input
> > > > > > > > > > device (instead rfkill) as they do not have
> > > > > > > > > > hw radio switch.
> > > > > > > > > >
> > > > > > > > > > It looks like those are two different
> > > > > > > > > > functions (rfkill, input device), but Dell
> > > > > > > > > > BIOS exports them via same ACPI device and
> > > > > > > > > > uses same ACPI functions. So code is in one
> > > > > > > > > > kernel driver.
> > > > > > > > >
> > > > > > > > > I made a patch some time ago that I've just
> > > > > > > > > adapted. It allows to prefer RBTN_SLIDER over
> > > > > > > > > RBTN_TOGGLE. The main reason why I'd like to
> > > > > > > > > have the hardware switch is that the BIOS
> > > > > > > > > doesn't alter the soft state of the devices.
> > > > > > > > > This comes in handy when the function key
> > > > > > > > > controls multiple radio devices.
> > > > > > > >
> > > > > > > > Now I'm thinking... is't this bug in wifi kernel
> > > > > > > > driver (which exports phy rfkill)? Or problem
> > > > > > > > somewhere else (userspace or kernel)?
> > > > > > >
> > > > > > > What is the presumed bug you are referring to? The
> > > > > > > fact that the soft state doesn't change?
> > > > > >
> > > > > > Can you remind me whats the problem on your laptop?
> > > > >
> > > > > CRBT returns 0 (so RBTN_TOGGLE), but by default my
> > > > > laptop acts as if it returned 2 or 3, so we have to
> > > > > call ARBT.
> > > > >
> > > > > As said before, there's no way to know when a platform
> > > > > whose CRBT method returns 0 or 1 also has the
> > > > > hardware switch, so to be sure that all the platforms
> > > > > have working function keys, some of them (such as
> > > > > mine) have to give up on the hardware switch.
> > > >
> > > > Ok, and what happens when you load this v2 version? What
> > > > stopped working on your laptop?
> > > >
> > > > Alex, can you help? Code for toggle laptop version is
> > > > originally yours.
> > >
> > > When I press the Fn key, a _Qxx EC method is executed. The
> > > code path of this method depends on a variable set by
> > > ARBT.
> > >
> > > When you call ARBT with 1 as argument, the variable is set
> > > to 1 and the _Qxx method does nothing but sending a
> > > notification (0x80) to RBTN whenever the function key is
> > > pressed.
> > >
> > > When you call ARBT with 0 as argument, the variable is set
> > > to 0 and the _Qxx method both sends 0x80 to RBTN _and_
> > > toggle the state of the radio devices whenever the
> > > function key is pressed.
> > >
> > > So in the end nothing _really_ breaks.
> >
> > So in linux kernel is missing code for toggling state of
> > radio devices? And you can do that only by ACPI when ARBT
> > is called with 0, right?
>
> Yes.
>
> With Alex's code the kernel sends keypresses to userspace and
> userspace takes care of toggling the state of radio devices.
Alex, can you ask Dell for documentation how to enable/disable
radio devices? Because when ARBT is set to 1, then system must
take care of it but, linux does not support it yet...
--
Pali Rohár
pali.rohar@gmail.com
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2015-04-29 19:00 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-23 15:09 [PATCH 0/3] Dell Airplane Mode Switch driver Pali Rohár
2014-11-23 15:09 ` [PATCH 1/3] platform: x86: dell-rbtn: " Pali Rohár
2014-11-24 20:09 ` Matthew Garrett
2014-11-24 20:55 ` Pali Rohár
2014-11-24 21:50 ` Matthew Garrett
2014-11-24 22:01 ` Pali Rohár
2014-11-28 11:33 ` Mika Westerberg
2014-11-28 11:45 ` Pali Rohár
2014-11-28 11:54 ` Mika Westerberg
2014-11-25 21:58 ` Darren Hart
2014-11-23 15:09 ` [PATCH 2/3] platform: x86: dell-rbtn: Export notifier for other kernel modules Pali Rohár
2014-11-25 22:39 ` Darren Hart
2015-04-29 9:55 ` Pali Rohár
2014-11-23 15:09 ` [PATCH 3/3] platform: x86: dell-laptop: Use dell-rbtn instead i8042 filter when possible Pali Rohár
2014-11-25 23:05 ` [PATCH 0/3] Dell Airplane Mode Switch driver Darren Hart
2014-12-02 8:42 ` Pali Rohár
2014-12-04 8:16 ` Alex Hung
2014-12-03 12:56 ` Darren Hart
2014-12-04 9:55 ` Pali Rohár
2014-12-03 13:00 ` Darren Hart
2014-12-05 20:38 ` Pali Rohár
2014-12-05 20:53 ` Gabriele Mazzotta
2014-12-05 21:03 ` Pali Rohár
2014-12-05 21:12 ` Gabriele Mazzotta
2014-12-05 21:23 ` Pali Rohár
2014-12-05 21:49 ` Gabriele Mazzotta
2014-12-22 7:27 ` Alex Hung
2014-12-22 9:21 ` Pali Rohár
2014-12-22 12:35 ` Gabriele Mazzotta
2014-12-22 19:16 ` Gabriele Mazzotta
2014-12-24 9:13 ` Alex Hung
2014-12-24 11:40 ` Gabriele Mazzotta
2014-12-25 3:13 ` Alex Hung
2014-12-25 20:11 ` Pali Rohár
2014-12-25 21:55 ` Gabriele Mazzotta
2014-12-29 7:27 ` Alex Hung
2014-12-29 8:32 ` Pali Rohár
2015-01-05 9:55 ` Alex Hung
2015-04-24 7:39 ` Alex Hung
2015-04-29 9:51 ` [PATCH v2 " Pali Rohár
2015-04-29 9:51 ` [PATCH v2 1/3] platform: x86: dell-rbtn: " Pali Rohár
2015-04-29 10:30 ` Gabriele Mazzotta
2015-04-29 13:08 ` Pali Rohár
2015-04-29 13:57 ` Gabriele Mazzotta
2015-04-29 16:28 ` Pali Rohár
2015-04-29 17:54 ` Gabriele Mazzotta
2015-04-29 18:00 ` Pali Rohár
2015-04-29 18:11 ` Gabriele Mazzotta
2015-04-29 18:16 ` Pali Rohár
2015-04-29 18:41 ` Gabriele Mazzotta
2015-04-29 18:59 ` Pali Rohár [this message]
2015-04-30 6:06 ` Alex Hung
2015-04-30 7:44 ` Pali Rohár
2015-05-02 13:51 ` Gabriele Mazzotta
2015-05-02 15:13 ` Pali Rohár
2015-05-05 20:31 ` Darren Hart
2015-05-05 21:23 ` Gabriele Mazzotta
2015-05-06 5:55 ` Darren Hart
2015-05-06 7:49 ` Pali Rohár
2015-05-06 9:34 ` Alex Hung
2015-04-29 9:51 ` [PATCH v2 2/3] platform: x86: dell-rbtn: Export notifier for other kernel modules Pali Rohár
2015-04-29 9:51 ` [PATCH v2 3/3] platform: x86: dell-laptop: Use dell-rbtn instead i8042 filter when possible Pali Rohár
2015-05-03 10:38 ` [PATCH v2 0/3] Dell Airplane Mode Switch driver Pali Rohár
2015-05-05 20:37 ` Darren Hart
2015-05-05 21:24 ` Gabriele Mazzotta
2015-05-06 7:58 ` Pali Rohár
2015-05-06 9:11 ` Alex Hung
2015-05-06 11:31 ` Pali Rohár
2015-05-06 21:57 ` Darren Hart
2015-05-07 2:24 ` Alex Hung
2015-05-13 11:48 ` Pali Rohár
2015-05-13 18:38 ` Darren Hart
2015-05-14 10:54 ` [PATCH v3 " Pali Rohár
2015-05-14 10:54 ` [PATCH v3 1/3] dell-rbtn: " Pali Rohár
2015-05-14 10:54 ` [PATCH v3 2/3] dell-rbtn: Export notifier for other kernel modules Pali Rohár
2015-05-22 22:45 ` Dmitry Torokhov
2015-05-23 1:05 ` Pali Rohár
2015-05-24 5:07 ` Valdis.Kletnieks
2015-05-24 11:42 ` Pali Rohár
2015-05-14 10:54 ` [PATCH v3 3/3] dell-laptop: Use dell-rbtn instead i8042 filter when possible Pali Rohár
2015-05-18 18:07 ` [PATCH v3 0/3] Dell Airplane Mode Switch driver Darren Hart
2015-05-27 21:28 ` [PATCH v4 " Pali Rohár
2015-05-27 21:28 ` [PATCH v4 1/3] dell-rbtn: " Pali Rohár
2015-05-27 21:28 ` [PATCH v4 2/3] dell-rbtn: Export notifier for other kernel modules Pali Rohár
2015-05-27 21:28 ` [PATCH v4 3/3] dell-laptop: Use dell-rbtn instead i8042 filter when possible Pali Rohár
2015-05-28 2:52 ` Darren Hart
2015-06-03 3:55 ` Darren Hart
2015-06-03 8:15 ` Pali Rohár
2015-06-04 5:16 ` Darren Hart
2015-06-06 8:24 ` Pali Rohár
2015-06-06 8:23 ` [PATCH v5 0/3] Dell Airplane Mode Switch driver Pali Rohár
2015-06-06 8:23 ` [PATCH v5 1/3] dell-rbtn: " Pali Rohár
2015-06-06 8:23 ` [PATCH v5 2/3] dell-rbtn: Export notifier for other kernel modules Pali Rohár
2015-06-06 8:23 ` [PATCH v5 3/3] dell-laptop: Use dell-rbtn instead i8042 filter when possible Pali Rohár
2015-06-08 4:12 ` [PATCH v5 0/3] Dell Airplane Mode Switch driver Darren Hart
2015-06-08 7:30 ` Pali Rohár
2015-06-11 4:55 ` Darren Hart
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=201504292059.26585@pali \
--to=pali.rohar@gmail.com \
--cc=alex.hung@canonical.com \
--cc=dvhart@infradead.org \
--cc=gabriele.mzt@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mjg59@srcf.ucam.org \
--cc=platform-driver-x86@vger.kernel.org \
/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).