Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753964AbcCWHv3 (ORCPT ); Wed, 23 Mar 2016 03:51:29 -0400 Received: from mail-lf0-f52.google.com ([209.85.215.52]:33903 "EHLO mail-lf0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753362AbcCWHvV (ORCPT ); Wed, 23 Mar 2016 03:51:21 -0400 Date: Wed, 23 Mar 2016 08:51:45 +0100 From: =?utf-8?B?TWljaGHFgiBLxJlwaWXFhA==?= To: Jonathan Woithe Cc: Darren Hart , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] fujitsu-laptop: Support radio LED Message-ID: <20160323075145.GA4216@eudyptula.hq.kempniu.pl> References: <1458127687-25366-1-git-send-email-kernel@kempniu.pl> <20160318120418.GA29889@marvin.atrad.com.au> <20160322133051.GA3379@eudyptula.hq.kempniu.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20160322133051.GA3379@eudyptula.hq.kempniu.pl> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1462 Lines: 59 > > If you could let me know how you went about > > acquiring the values on your machine I could try the exact same steps on the > > S7020 to see what we get. > > The BTNI value is printed to the kernel log buffer by > acpi_fujitsu_hotkey_add(), so all it takes to retrieve it is: > > dmesg | grep BTNI > I forgot to write that the other value I suggested could perhaps be used to determine whether a radio toggle button is present on a given model (0x00020320 on a Lifebook E744) is the return value of: call_fext_func(FUNC_RFKILL, 0x0, 0x0, 0x0); It is stored in the rfkill_supported field of struct fujitsu_hotkey_t. You can also look it up in a DSDT dump. On a Lifebook E744: Method (S000, 3, Serialized) { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler Local0 = Zero While (One) { _T_0 = Arg0 If ((_T_0 == Zero)) { >> Local0 |= 0x00020000 Local0 |= 0x0200 Local0 |= 0x0100 Local0 |= 0x20 } ... Break } Return (Local0) } On an E8420: Method (S000, 3, NotSerialized) { Local0 = 0x80000000 If ((Arg0 == 0x00)) { Local0 = Zero Local0 |= 0x20 Local0 |= 0x0100 Local0 |= 0x0200 } ... Return (Local0) } -- Best regards, Michał Kępień