linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Cc: "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: Re: [PATCH v3 3/3] mfd: ensure that AXP20X_I2C will have the right deps on X86
Date: Mon, 18 May 2020 14:17:06 +0200	[thread overview]
Message-ID: <aa23c170-f4e8-e1f0-5c7f-35e51ec84533@redhat.com> (raw)
In-Reply-To: <cfbb80f220bba5051640d92fc00825bdaa2ec877.1589801950.git.mchehab+huawei@kernel.org>

Hi,

On 5/18/20 1:42 PM, Mauro Carvalho Chehab wrote:
> 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>

Hmm, last time we tried something like this (it was tried before,
but in a bit different way) we ran into all kind of dependency /
select cycles / issues.

With that said I'm fine with giving this another try, maybe let
the test builders / rand config builds play with it for a while
and see what happens?

Regards,

Hans




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


  reply	other threads:[~2020-05-18 12:17 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 ` [PATCH v3 3/3] mfd: ensure that AXP20X_I2C will have the right deps on X86 Mauro Carvalho Chehab
2020-05-18 12:17   ` Hans de Goede [this message]
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=aa23c170-f4e8-e1f0-5c7f-35e51ec84533@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=alexandre.belloni@bootlin.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=mchehab+huawei@kernel.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).