public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Gabriele Mazzotta <gabriele.mzt@gmail.com>
To: "Pali Rohár" <pali.rohar@gmail.com>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>,
	Darren Hart <dvhart@infradead.org>,
	platform-driver-x86@vger.kernel.org,
	linux-kernel@vger.kernel.org, Alex Hung <alex.hung@canonical.com>
Subject: Re: [PATCH v2 1/3] platform: x86: dell-rbtn: Dell Airplane Mode Switch driver
Date: Wed, 29 Apr 2015 12:30:32 +0200	[thread overview]
Message-ID: <37641224.OJKZVtGCPV@xps13> (raw)
In-Reply-To: <1430301066-22870-2-git-send-email-pali.rohar@gmail.com>

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.

Here below the simple patch. Maybe I could improve it and allow a
dynamic switch between RBTN_TOGGLE and RBTN_SLIDER.


>From 35d39a4ad079489147b4ce22651c5e4e18856cf0 Mon Sep 17 00:00:00 2001
From: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Date: Wed, 29 Apr 2015 12:24:52 +0200
Subject: [PATCH] dell-rbtn: Add module param to force the radio hardware
 switch

dell-rbtn determines whether the BIOS controls the radio devices when
function keys are pressed by calling the ACPI method CRBT. As long as
the ACPI method ARBT is called with 1 as argument, we are sure that
what is returned by CRBT holds.

This patch adds the possibility to pass a parameter that will make
dell-rbtn ignore the value returned by CRBT and call ARBT with 0 as
argument. This will allow users to have the BIOS control the radio
devices. Since there is no way to know when this is possible, it's
up to the user to force the mode. This guarantees the correct
functionality of the driver except when the user forces the mode.
---
 drivers/platform/x86/dell-rbtn.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/dell-rbtn.c b/drivers/platform/x86/dell-rbtn.c
index 07dfd8f..8f8d62b 100644
--- a/drivers/platform/x86/dell-rbtn.c
+++ b/drivers/platform/x86/dell-rbtn.c
@@ -30,6 +30,8 @@ struct rbtn_data {
 	struct input_dev *input_dev;
 };
 
+static bool force_hw_switch;
+module_param(force_hw_switch, bool, S_IRUGO);
 
 /*
  * acpi functions
@@ -44,6 +46,9 @@ static enum rbtn_type rbtn_check(struct acpi_device *device)
 	if (ACPI_FAILURE(status))
 		return RBTN_UNKNOWN;
 
+	if (force_hw_switch)
+		return RBTN_SLIDER;
+
 	switch (output) {
 	case 0:
 	case 1:
@@ -321,7 +326,7 @@ static int rbtn_add(struct acpi_device *device)
 		return -EINVAL;
 	}
 
-	ret = rbtn_radio_enable(device, true);
+	ret = rbtn_radio_enable(device, !force_hw_switch);
 	if (ret < 0) {
 		dev_err(&device->dev, "Cannot enable device\n");
 		return ret;
-- 
2.1.4

  reply	other threads:[~2015-04-29 10:30 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 [this message]
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
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=37641224.OJKZVtGCPV@xps13 \
    --to=gabriele.mzt@gmail.com \
    --cc=alex.hung@canonical.com \
    --cc=dvhart@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=pali.rohar@gmail.com \
    --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