From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S943544AbdEZLO5 (ORCPT ); Fri, 26 May 2017 07:14:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49528 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1426146AbdEZLOa (ORCPT ); Fri, 26 May 2017 07:14:30 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com C97E280049 Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=hdegoede@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com C97E280049 Subject: Re: [PATCH v4 2/2] mfd: axp20x-i2c: Document that this must be builtin on x86 To: Lee Jones Cc: linux-kernel@vger.kernel.org, Chen-Yu Tsai References: <20170515182322.7583-1-hdegoede@redhat.com> <20170515182322.7583-2-hdegoede@redhat.com> <20170522105602.c7tfkjoepkesmxcb@dell> From: Hans de Goede Message-ID: Date: Fri, 26 May 2017 13:14:22 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 MIME-Version: 1.0 In-Reply-To: <20170522105602.c7tfkjoepkesmxcb@dell> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Fri, 26 May 2017 11:14:24 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 22-05-17 12:56, Lee Jones wrote: > On Mon, 15 May 2017, Hans de Goede wrote: > >> On x86 the axp288 PMIC provides an ACPI OpRegion handler, which must be >> available before other drivers using it are loaded, which can only be >> ensured if the mfd, OpRegionr and i2c-bus drivers are built in. >> >> Since the axp20x mfd code is used on non X86 too we cannot simply change >> this into a bool, I've tried some Kconfig magic with if x86 but I could >> not get this working correctly, so this commit just documents that this >> should be builtin on x86, which fixes errors like these during boot: >> >> mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA >> ACPI Error: No handler for Region [REGS] (ffff93543b0cc3a8) [UserDefinedRegion] >> ACPI Error: Region UserDefinedRegion (ID=143) has no handler (20170119/exfldio-2 >> ACPI Error: Method parse/execution failed [\_SB.PCI0.I2C7.PMI5.GET] (Node ffff93 >> ACPI Error: Method parse/execution failed [\_SB.PCI0.SHC1._PS0] (Node ffff93543b >> acpi 80860F14:02: Failed to change power state to D0 >> >> Signed-off-by: Hans de Goede > > Would be good to get an Ack by the users/maintainers of this driver. If you look at recent commits to drivers for the mfd-subdevices for the AXP288 (which is the only AXP PMIC found on x86 systems) you will see that I've been the only one touch them / caring about them and in many cases fixing them from being non-functional to actually working. I do have quite a few people who are using the AXP288 code on Bay and Cherry Trail devices with this PMIC and who have send me thank you's and test success reports. So I guess I'm the closest thing to a MAINTAINER for the axp288 bits of this driver. >> --- >> Changes in v2: >> -Fix Kconfig depends and selects to fix warning reported by kbuild test robot >> -Improve commit msg (add example of ACPI errors this avoids) >> Changes in v3: >> -Since the axp20x mfd code is used on ARM too where it does not necessarily >> need to be builtin settle for simply documenting the need to have this >> builtin on x86 >> --- >> drivers/mfd/Kconfig | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig >> index 61ebda81e134..cfac1e8a0a20 100644 >> --- a/drivers/mfd/Kconfig >> +++ b/drivers/mfd/Kconfig >> @@ -160,6 +160,11 @@ config MFD_AXP20X_I2C >> components like regulators or the PEK (Power Enable Key) under the >> corresponding menus. >> >> + Note on x86 this provides an ACPI OpRegion, so this must be 'y' >> + (builtin) and not a module, as the OpRegion must be available as >> + soon as possible. For the same reason the i2c bus driver options > > Nit: s/i2c/I2C/ Fixed for v5 (which I will send in a minute). Regards, Hans