linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: unlisted-recipients:; (no To-header on input)
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
	Hans de Goede <hdegoede@redhat.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Len Brown <lenb@kernel.org>, Lee Jones <lee.jones@linaro.org>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Jean Delvare <jdelvare@suse.de>,
	Jarkko Nikula <jarkko.nikula@linux.intel.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Max Staudt <max@enpas.org>, Stefan Roese <sr@denx.de>,
	linux-acpi@vger.kernel.org, linux-i2c@vger.kernel.org
Subject: [PATCH v3 3/3] mfd: ensure that AXP20X_I2C will have the right deps on X86
Date: Mon, 18 May 2020 13:42:12 +0200	[thread overview]
Message-ID: <cfbb80f220bba5051640d92fc00825bdaa2ec877.1589801950.git.mchehab+huawei@kernel.org> (raw)
In-Reply-To: <cover.1589801950.git.mchehab+huawei@kernel.org>

The axp20x I2C driver can be used on X86, but also on ARM
platforms.

Yet, for X86, it has to be builtin and need ACPI OpRegion
support enabled.

So, the dependency chain is diferent for X86 and for other
archs.

Change the dependency chain to take this into consideration,
ensuring that everything will be set as it should.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/acpi/Kconfig       |  3 ++-
 drivers/i2c/busses/Kconfig |  4 ++--
 drivers/mfd/Kconfig        | 21 ++++++++++++++++-----
 drivers/mfd/Makefile       |  8 +++++---
 4 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index ce2730d61a8f..4490200ef134 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -547,7 +547,8 @@ config CHTCRC_PMIC_OPREGION
 
 config XPOWER_PMIC_OPREGION
 	bool "ACPI operation region support for XPower AXP288 PMIC"
-	depends on MFD_AXP20X_I2C && IOSF_MBI=y
+	depends on MFD_AXP20X_I2C
+	select IOSF_MBI
 	help
 	  This config adds ACPI operation region support for XPower AXP288 PMIC.
 
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index 2ddca08f8a76..202e743c8e3e 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -563,8 +563,8 @@ config I2C_DESIGNWARE_PCI
 config I2C_DESIGNWARE_BAYTRAIL
 	bool "Intel Baytrail I2C semaphore support"
 	depends on ACPI
-	depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
-		   (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
+	depends on I2C_DESIGNWARE_PLATFORM=y
+	select IOSF_MBI
 	help
 	  This driver enables managed host access to the PMIC I2C bus on select
 	  Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 167f117ff015..11bbbed30098 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -187,7 +187,7 @@ config MFD_AXP20X_I2C
 	tristate "X-Powers AXP series PMICs with I2C"
 	select MFD_AXP20X
 	select REGMAP_I2C
-	depends on I2C
+	depends on !X86 || (X86 && I2C_DESIGNWARE_PLATFORM=y && I2C_DESIGNWARE_BAYTRAIL=y && ACPI_I2C_OPREGION)
 	help
 	  If you say Y here you get support for the X-Powers AXP series power
 	  management ICs (PMICs) controlled with I2C.
@@ -195,10 +195,21 @@ 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
-	  I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_BAYTRAIL must be 'y' too.
+	  Note on x86 this provides an ACPI OpRegion, so enabling it
+	  requires that I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_BAYTRAIL
+	  to be set as 'y'. On such architecture, the driver, if enabled,
+	  will always be (builtin) and not a module, as the OpRegion must be
+	  available as soon as possible.
+
+config MFD_AXP20X_X86
+	bool
+	depends on X86
+	default MFD_AXP20X_I2C
+
+config MFD_AXP20X_NOT_X86
+	tristate
+	depends on !X86
+	default MFD_AXP20X_I2C
 
 config MFD_AXP20X_RSB
 	tristate "X-Powers AXP series PMICs with RSB"
diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
index f935d10cbf0f..dd902b5c31ff 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -142,9 +142,11 @@ obj-$(CONFIG_MFD_DA9052_SPI)	+= da9052-spi.o
 obj-$(CONFIG_MFD_DA9052_I2C)	+= da9052-i2c.o
 
 obj-$(CONFIG_MFD_AC100)		+= ac100.o
-obj-$(CONFIG_MFD_AXP20X)	+= axp20x.o
-obj-$(CONFIG_MFD_AXP20X_I2C)	+= axp20x-i2c.o
-obj-$(CONFIG_MFD_AXP20X_RSB)	+= axp20x-rsb.o
+
+obj-$(CONFIG_MFD_AXP20X)		+= axp20x.o
+obj-$(CONFIG_MFD_AXP20X_I2C_X86)	+= axp20x-i2c.o
+obj-$(CONFIG_MFD_AXP20X_I2C_NOT_X86)	+= axp20x-i2c.o
+obj-$(CONFIG_MFD_AXP20X_RSB)		+= axp20x-rsb.o
 
 obj-$(CONFIG_MFD_LP3943)	+= lp3943.o
 obj-$(CONFIG_MFD_LP8788)	+= lp8788.o lp8788-irq.o
-- 
2.26.2


  reply	other threads:[~2020-05-18 11:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-18 11:42 [PATCH v3 0/3] Fix dependencies for ACPI drivers with OpRegion settings Mauro Carvalho Chehab
2020-05-18 11:42 ` Mauro Carvalho Chehab [this message]
2020-05-18 12:17   ` [PATCH v3 3/3] mfd: ensure that AXP20X_I2C will have the right deps on X86 Hans de Goede
2020-05-18 12:53     ` Mauro Carvalho Chehab
2020-05-20 13:34       ` Wolfram Sang
2020-05-20 13:46         ` Jarkko Nikula

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=cfbb80f220bba5051640d92fc00825bdaa2ec877.1589801950.git.mchehab+huawei@kernel.org \
    --to=mchehab+huawei@kernel.org \
    --cc=alexandre.belloni@bootlin.com \
    --cc=hdegoede@redhat.com \
    --cc=jarkko.nikula@linux.intel.com \
    --cc=jdelvare@suse.de \
    --cc=krzk@kernel.org \
    --cc=lee.jones@linaro.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=max@enpas.org \
    --cc=rjw@rjwysocki.net \
    --cc=sr@denx.de \
    --cc=wsa+renesas@sang-engineering.com \
    /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;
as well as URLs for NNTP newsgroup(s).