[RFC 0/4] Asus Wireless Radio Control driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series is a request for comments on the driver for the "Asus Wireless
Radio Control" device, as named on the vendor website, which handles
notifications from the airplane mode hotkey and drives the airplane mode
indicator LED. This device appears in the DSDT as "ASHS".

When the airplane mode hotkey is pressed a query 0x0B is started in the
Embedded Controller, and all this query does is a notify ASHS with the value
0x88. ASHS also has one method HSWC, which can drive the airplane mode LED and
query its status, according to its parameter.

To properly drive the LED a new RFKill trigger was implemented, to track the
global state of all RFKill switches in the system, and turn the LED ON when all
are blocked, and OFF otherwise. This code will have to go through review on
linux-wireless, but first I wanted to get feedback on the WRC driver itself.

There is one known issue: the airplane mode LED uses the same ID as the WLAN
LED in asus-wmi, so at the moment to have the LED being driven correctly by
asus-wrc I have to disable asus-wmi. Even with wapf=0, which does not register
a WLAN LED in asus-wmi, the conflict still occurs because
ASUS_WMI_DSTS_USER_BIT is set. Please advise on what is the best way to solve
this problem.

I've chosen to make this a separate module because this is a separate entry in
the DSDT, and checkpatch told me to add an entry in MAINTAINERS in this case.
Please let me know if any of this should have been done differently.

I have access to two Asus laptops which need this driver for the airplane mode
hotkey to work: E202SA (which does not have a LED) and X555UB (which have a
LED), and on https://bugzilla.kernel.org/show_bug.cgi?id=98931#c22 there is
report of a 3rd laptop that gets fixed with this driver. This should also fix
the mentioned bug report.

Regards,

Joao Paulo.

João Paulo Rechi Vita (4):
  platform/x86: Add Asus Wireless Radio Control driver
  asus-wrc: Add ACPI HID ATK4001
  net/rfkill: Create "airplane mode" LED trigger
  asus-wrc: Toggle airplane mode LED

 MAINTAINERS                     |   6 ++
 drivers/platform/x86/Kconfig    |  15 +++
 drivers/platform/x86/Makefile   |   1 +
 drivers/platform/x86/asus-wrc.c | 200 ++++++++++++++++++++++++++++++++++++++++
 net/rfkill/core.c               |  30 ++++++
 5 files changed, 252 insertions(+)
 create mode 100644 drivers/platform/x86/asus-wrc.c

-- 
2.5.0

--
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



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux