Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp754567imm; Fri, 15 Jun 2018 05:52:36 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIYVoklarTV7QAp3qNUaRXUy7LWwcLlPtza6sGakKfpzwqavuw3LnV3lK/cXhIxeQnNuA2f X-Received: by 2002:a62:968f:: with SMTP id s15-v6mr1809100pfk.191.1529067156355; Fri, 15 Jun 2018 05:52:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529067156; cv=none; d=google.com; s=arc-20160816; b=rZgWOMMQHFR3OnbJfV7c/XlxwnEWPrU3orb3y1rS1PN8iY7i6ijsJHcBOipuYr+K1o tyWU7vtFFSomnqP7GLk7niTvB0ZvTRdyUrZu6GvOAnImTDi6a0Fqe8rAtG1NaUv2I2h1 b5MOE66qGz6RQ3S1AX/EEf+PzIzPqmeEOnvtZ1mUJTxjm2nmafDrkEGbkmOdEykfpr2f qCnlfzWFO2n5qMb0NAd7ztgvyoIZ+ohZoxxbXAHMhnNbcZluo+SoFNqrQDHSoNRp0f30 IFVg2nwX6JfyvT1ic9z7Vg4m/tCGVsvdZKG/LQDb68CbK40OQTQ9vzsV5nMDYXnWipjG ZtzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:subject:cc:to:from:message-id :date:arc-authentication-results; bh=r1kYhp3VngceM70WWH1LhTFjLhWzSIDERQUqqUg0Fnc=; b=vvyxKYnj273krO/ChHpEqv/Niz1/LZ6MMW49l9C705DFNXMoFLDomrIW651jQv/m1E 0t8/XW0TNMKC9hLkYOsPNLnBOYLwhVnnWM5nWRJIG4eZMUF5PwGx21n/6gmLbWFw9GUb XW31hSXUu9Aw8I7gCOxEe4+ZWmoQgebybcnC2KK7zq1hzi6q0uOjZDwAx6VJxrGkg8Sm 8Ol91a8WGiOoFragxUCcqA1t+MoaiiOZ5DeuyyHbwxH6h8n5fhvNTp5qpANI6Hlwjwhx l8AqyaWQj8P42bJmNK3lz2ZmZq3axbAkeKmCQ+8xrlP8bQkZ+IPHx/STmIatAsE2NJQl EOag== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a8-v6si7659728ple.222.2018.06.15.05.52.21; Fri, 15 Jun 2018 05:52:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936220AbeFOMvu (ORCPT + 99 others); Fri, 15 Jun 2018 08:51:50 -0400 Received: from mx2.suse.de ([195.135.220.15]:38990 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755897AbeFOMvt (ORCPT ); Fri, 15 Jun 2018 08:51:49 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext-too.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id D7692AC55; Fri, 15 Jun 2018 12:51:47 +0000 (UTC) Date: Fri, 15 Jun 2018 14:51:47 +0200 Message-ID: From: Takashi Iwai To: Pali =?UTF-8?B?Um9ow6Fy?= Cc: Henrique de Moraes Holschuh , ibm-acpi-devel@lists.sourceforge.net, platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: ThinkPad T480s & LED_MUTE, LED_MICMUTE In-Reply-To: <20180608111057.4wxpg7m7nm7suf6n@pali> References: <20180608111057.4wxpg7m7nm7suf6n@pali> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/25.3 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 08 Jun 2018 13:10:57 +0200, Pali Rohár wrote: > > Hi! With up-to-date thinkpad_acpi.ko driver on ThinkPad T480s I'm seeing > a strange behavior of LEDs which are integrated into mic mute (Fn+F4) > and mute (Fn+F1) keys. > > When thinkpad_acpi.ko is not loaded, then mute key is working fine. When > pressed, it correctly generates KEY_MUTE on AT Translated Set 2 keyboard > input device and also turn on/of mute led. But when micmute key is > pressed then, nothing happen. No key event is reported and also led is > not turned on/off. > > On the other hand, when thinkpad_acpi.ko is loaded, then both buttons > mute and micmute correctly generates input events; mute via AT keyboard > and micmute via ThinkPad Extra Buttons. But led is not changed. When > thinkpad_acpi.ko is loaded it turn off both leds (mute and micmute) and > leds after pressing any of those buttons, leds are not turned on again. > > When thinkpad_acpi.ko is unloaded, then pressing mute button again start > switching led on/off. > > So it seems that some init sequence of thinkpad_acpi.ko breaks mute led. > And fini sequence of thinkpad_acpi.ko makes mute led working again. Usually the mute LED on Thinkpad is triggered from HD-audio driver (sound/pci/hda/thinkpad_helper.c), and it's a soft-bound via symbol_request(tpacpi_led_set). I thought thinkpad_acpi is auto-loaded when the module gets bound. A possible explanation would be that TPT480s has neither IBM0068, LEN0068 nor LEN0268 ACPI HIDs, hence the driver is not auto-loaded. (In HD-audio driver side, the ACPI ID is checked and the mute LED control is applied only to these three IDs, too.) Meanwhile, when you load thinkpad_acpi, it does still recognize some device and initialize it. By the initialization, it goes out of BIOS control, and the OS control is expected... This is my wild guess. BTW, the reason we have no LED class for these is that we don't want to confuse users by providing multiple ways to access to the single stuff. We've had already the mute LED control from the audio driver since long time ago, we don't want to drop and enforce the user-space solution (that is anyway flakier than in kernel in most cases). thanks, Takashi