All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
@ 2014-08-11  7:00 ` Lan Tianyu
  0 siblings, 0 replies; 23+ messages in thread
From: Lan Tianyu @ 2014-08-11  7:00 UTC (permalink / raw)
  To: wsa, torvalds, mika.westerberg; +Cc: Lan Tianyu, linux-i2c, linux-kernel

Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
config) adds a new kernel config I2C_ACPI and make I2C core built in
when the config is selected. This is wrong because distributions
etc generally compile I2C as a module and the commit broken that.
This patch is to make I2C core able to be a module when I2C_ACPI is
selected. Original issue the commit da3c6647 tried to avoid will
be fixed in ACPICA and it's rarely triggered during unloading module. 

Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
---
 drivers/i2c/Kconfig | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 3e3b680..436ba27 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -2,9 +2,7 @@
 # I2C subsystem configuration
 #
 
-menu "I2C support"
-
-config I2C
+menuconfig I2C
 	tristate "I2C support"
 	select RT_MUTEXES
 	---help---
@@ -25,8 +23,7 @@ config I2C
 
 config I2C_ACPI
 	bool "I2C ACPI support"
-	select I2C
-	depends on ACPI
+	depends on I2C && ACPI
 	default y
 	help
 	  Say Y here if you want to enable ACPI I2C support. This includes support
@@ -139,4 +136,3 @@ config I2C_DEBUG_BUS
 
 endif # I2C
 
-endmenu
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
@ 2014-08-11  7:00 ` Lan Tianyu
  0 siblings, 0 replies; 23+ messages in thread
From: Lan Tianyu @ 2014-08-11  7:00 UTC (permalink / raw)
  To: wsa-z923LK4zBo2bacvFa/9K2g,
	torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	mika.westerberg-VuQAYsv1563Yd54FQh9/CA
  Cc: Lan Tianyu, linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
config) adds a new kernel config I2C_ACPI and make I2C core built in
when the config is selected. This is wrong because distributions
etc generally compile I2C as a module and the commit broken that.
This patch is to make I2C core able to be a module when I2C_ACPI is
selected. Original issue the commit da3c6647 tried to avoid will
be fixed in ACPICA and it's rarely triggered during unloading module. 

Signed-off-by: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
 drivers/i2c/Kconfig | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 3e3b680..436ba27 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -2,9 +2,7 @@
 # I2C subsystem configuration
 #
 
-menu "I2C support"
-
-config I2C
+menuconfig I2C
 	tristate "I2C support"
 	select RT_MUTEXES
 	---help---
@@ -25,8 +23,7 @@ config I2C
 
 config I2C_ACPI
 	bool "I2C ACPI support"
-	select I2C
-	depends on ACPI
+	depends on I2C && ACPI
 	default y
 	help
 	  Say Y here if you want to enable ACPI I2C support. This includes support
@@ -139,4 +136,3 @@ config I2C_DEBUG_BUS
 
 endif # I2C
 
-endmenu
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
@ 2014-08-12  9:53   ` Mika Westerberg
  0 siblings, 0 replies; 23+ messages in thread
From: Mika Westerberg @ 2014-08-12  9:53 UTC (permalink / raw)
  To: Lan Tianyu; +Cc: wsa, torvalds, linux-i2c, linux-kernel

On Mon, Aug 11, 2014 at 03:00:55PM +0800, Lan Tianyu wrote:
> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> config) adds a new kernel config I2C_ACPI and make I2C core built in
> when the config is selected. This is wrong because distributions
> etc generally compile I2C as a module and the commit broken that.
> This patch is to make I2C core able to be a module when I2C_ACPI is
> selected. Original issue the commit da3c6647 tried to avoid will
> be fixed in ACPICA and it's rarely triggered during unloading module. 
> 
> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>

I wonder if we can do

	depends on I2C=y

here? If I understand it right, then we only build the ACPI_I2C if I2C
is compiled into the kernel. That way the problem da3c6647 tried to
solve doens't re-appear.

We can later on relax this once ACPICA has been fixed. Thoughts?

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
@ 2014-08-12  9:53   ` Mika Westerberg
  0 siblings, 0 replies; 23+ messages in thread
From: Mika Westerberg @ 2014-08-12  9:53 UTC (permalink / raw)
  To: Lan Tianyu
  Cc: wsa-z923LK4zBo2bacvFa/9K2g,
	torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

On Mon, Aug 11, 2014 at 03:00:55PM +0800, Lan Tianyu wrote:
> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> config) adds a new kernel config I2C_ACPI and make I2C core built in
> when the config is selected. This is wrong because distributions
> etc generally compile I2C as a module and the commit broken that.
> This patch is to make I2C core able to be a module when I2C_ACPI is
> selected. Original issue the commit da3c6647 tried to avoid will
> be fixed in ACPICA and it's rarely triggered during unloading module. 
> 
> Signed-off-by: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

I wonder if we can do

	depends on I2C=y

here? If I understand it right, then we only build the ACPI_I2C if I2C
is compiled into the kernel. That way the problem da3c6647 tried to
solve doens't re-appear.

We can later on relax this once ACPICA has been fixed. Thoughts?

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
@ 2014-08-13  2:03     ` Wolfram Sang
  0 siblings, 0 replies; 23+ messages in thread
From: Wolfram Sang @ 2014-08-13  2:03 UTC (permalink / raw)
  To: Mika Westerberg; +Cc: Lan Tianyu, torvalds, linux-i2c, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1227 bytes --]

On Tue, Aug 12, 2014 at 12:53:21PM +0300, Mika Westerberg wrote:
> On Mon, Aug 11, 2014 at 03:00:55PM +0800, Lan Tianyu wrote:
> > Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> > config) adds a new kernel config I2C_ACPI and make I2C core built in
> > when the config is selected. This is wrong because distributions
> > etc generally compile I2C as a module and the commit broken that.
> > This patch is to make I2C core able to be a module when I2C_ACPI is
> > selected. Original issue the commit da3c6647 tried to avoid will
> > be fixed in ACPICA and it's rarely triggered during unloading module. 
> > 
> > Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
> 
> I wonder if we can do
> 
> 	depends on I2C=y
> 
> here? If I understand it right, then we only build the ACPI_I2C if I2C
> is compiled into the kernel. That way the problem da3c6647 tried to
> solve doens't re-appear.
> 
> We can later on relax this once ACPICA has been fixed. Thoughts?

I had the same idea yet my travel to Chicago interrupted thinking about
it further. Once I get rid of my jetlag, I'll have a closer look. Unless
you already came up with the perfect solution until then, of course ;)


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
@ 2014-08-13  2:03     ` Wolfram Sang
  0 siblings, 0 replies; 23+ messages in thread
From: Wolfram Sang @ 2014-08-13  2:03 UTC (permalink / raw)
  To: Mika Westerberg
  Cc: Lan Tianyu, torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 1257 bytes --]

On Tue, Aug 12, 2014 at 12:53:21PM +0300, Mika Westerberg wrote:
> On Mon, Aug 11, 2014 at 03:00:55PM +0800, Lan Tianyu wrote:
> > Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> > config) adds a new kernel config I2C_ACPI and make I2C core built in
> > when the config is selected. This is wrong because distributions
> > etc generally compile I2C as a module and the commit broken that.
> > This patch is to make I2C core able to be a module when I2C_ACPI is
> > selected. Original issue the commit da3c6647 tried to avoid will
> > be fixed in ACPICA and it's rarely triggered during unloading module. 
> > 
> > Signed-off-by: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> 
> I wonder if we can do
> 
> 	depends on I2C=y
> 
> here? If I understand it right, then we only build the ACPI_I2C if I2C
> is compiled into the kernel. That way the problem da3c6647 tried to
> solve doens't re-appear.
> 
> We can later on relax this once ACPICA has been fixed. Thoughts?

I had the same idea yet my travel to Chicago interrupted thinking about
it further. Once I get rid of my jetlag, I'll have a closer look. Unless
you already came up with the perfect solution until then, of course ;)


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
  2014-08-13  2:03     ` Wolfram Sang
@ 2014-08-13  2:50       ` Lan Tianyu
  -1 siblings, 0 replies; 23+ messages in thread
From: Lan Tianyu @ 2014-08-13  2:50 UTC (permalink / raw)
  To: Wolfram Sang, Mika Westerberg; +Cc: torvalds, linux-i2c, linux-kernel

On 2014年08月13日 10:03, Wolfram Sang wrote:
> On Tue, Aug 12, 2014 at 12:53:21PM +0300, Mika Westerberg wrote:
>> On Mon, Aug 11, 2014 at 03:00:55PM +0800, Lan Tianyu wrote:
>>> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
>>> config) adds a new kernel config I2C_ACPI and make I2C core built in
>>> when the config is selected. This is wrong because distributions
>>> etc generally compile I2C as a module and the commit broken that.
>>> This patch is to make I2C core able to be a module when I2C_ACPI is
>>> selected. Original issue the commit da3c6647 tried to avoid will
>>> be fixed in ACPICA and it's rarely triggered during unloading module. 
>>>
>>> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
>>
>> I wonder if we can do
>>
>> 	depends on I2C=y
>>
>> here? If I understand it right, then we only build the ACPI_I2C if I2C
>> is compiled into the kernel. That way the problem da3c6647 tried to
>> solve doens't re-appear.
>>
>> We can later on relax this once ACPICA has been fixed. Thoughts?
> 
> I had the same idea yet my travel to Chicago interrupted thinking about
> it further. Once I get rid of my jetlag, I'll have a closer look. Unless
> you already came up with the perfect solution until then, of course ;)
>

Hi Mika & Wolfram:
	I have one concern about "depends on I2C=y". If distribution config
file selects I2C core as a module, the original code can enumerate I2C
slave devices from ACPI table. But now I2C_ACPI depends on I2C core
built in, the I2C module can't enumerate devices from ACPI table. This
maybe a regression for distribution?

-- 
Best regards
Tianyu Lan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
@ 2014-08-13  2:50       ` Lan Tianyu
  0 siblings, 0 replies; 23+ messages in thread
From: Lan Tianyu @ 2014-08-13  2:50 UTC (permalink / raw)
  To: Wolfram Sang, Mika Westerberg
  Cc: torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

On 2014年08月13日 10:03, Wolfram Sang wrote:
> On Tue, Aug 12, 2014 at 12:53:21PM +0300, Mika Westerberg wrote:
>> On Mon, Aug 11, 2014 at 03:00:55PM +0800, Lan Tianyu wrote:
>>> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
>>> config) adds a new kernel config I2C_ACPI and make I2C core built in
>>> when the config is selected. This is wrong because distributions
>>> etc generally compile I2C as a module and the commit broken that.
>>> This patch is to make I2C core able to be a module when I2C_ACPI is
>>> selected. Original issue the commit da3c6647 tried to avoid will
>>> be fixed in ACPICA and it's rarely triggered during unloading module. 
>>>
>>> Signed-off-by: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
>>
>> I wonder if we can do
>>
>> 	depends on I2C=y
>>
>> here? If I understand it right, then we only build the ACPI_I2C if I2C
>> is compiled into the kernel. That way the problem da3c6647 tried to
>> solve doens't re-appear.
>>
>> We can later on relax this once ACPICA has been fixed. Thoughts?
> 
> I had the same idea yet my travel to Chicago interrupted thinking about
> it further. Once I get rid of my jetlag, I'll have a closer look. Unless
> you already came up with the perfect solution until then, of course ;)
>

Hi Mika & Wolfram:
	I have one concern about "depends on I2C=y". If distribution config
file selects I2C core as a module, the original code can enumerate I2C
slave devices from ACPI table. But now I2C_ACPI depends on I2C core
built in, the I2C module can't enumerate devices from ACPI table. This
maybe a regression for distribution?

-- 
Best regards
Tianyu Lan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
@ 2014-08-13  7:07         ` Mika Westerberg
  0 siblings, 0 replies; 23+ messages in thread
From: Mika Westerberg @ 2014-08-13  7:07 UTC (permalink / raw)
  To: Lan Tianyu; +Cc: Wolfram Sang, torvalds, linux-i2c, linux-kernel

On Wed, Aug 13, 2014 at 10:50:32AM +0800, Lan Tianyu wrote:
> On 2014年08月13日 10:03, Wolfram Sang wrote:
> > On Tue, Aug 12, 2014 at 12:53:21PM +0300, Mika Westerberg wrote:
> >> On Mon, Aug 11, 2014 at 03:00:55PM +0800, Lan Tianyu wrote:
> >>> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> >>> config) adds a new kernel config I2C_ACPI and make I2C core built in
> >>> when the config is selected. This is wrong because distributions
> >>> etc generally compile I2C as a module and the commit broken that.
> >>> This patch is to make I2C core able to be a module when I2C_ACPI is
> >>> selected. Original issue the commit da3c6647 tried to avoid will
> >>> be fixed in ACPICA and it's rarely triggered during unloading module. 
> >>>
> >>> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
> >>
> >> I wonder if we can do
> >>
> >> 	depends on I2C=y
> >>
> >> here? If I understand it right, then we only build the ACPI_I2C if I2C
> >> is compiled into the kernel. That way the problem da3c6647 tried to
> >> solve doens't re-appear.
> >>
> >> We can later on relax this once ACPICA has been fixed. Thoughts?
> > 
> > I had the same idea yet my travel to Chicago interrupted thinking about
> > it further. Once I get rid of my jetlag, I'll have a closer look. Unless
> > you already came up with the perfect solution until then, of course ;)
> >
> 
> Hi Mika & Wolfram:
> 	I have one concern about "depends on I2C=y". If distribution config
> file selects I2C core as a module, the original code can enumerate I2C
> slave devices from ACPI table. But now I2C_ACPI depends on I2C core
> built in, the I2C module can't enumerate devices from ACPI table. This
> maybe a regression for distribution?

True, but only the I2C OpRegion parts needs to have I2C=y. Does it make
sense to name ACPI_I2C to ACPI_I2C_OPREGION (or something like that)
and only enable it when I2C=y? Then we would have ACPI I2C enumeration
still in place.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
@ 2014-08-13  7:07         ` Mika Westerberg
  0 siblings, 0 replies; 23+ messages in thread
From: Mika Westerberg @ 2014-08-13  7:07 UTC (permalink / raw)
  To: Lan Tianyu
  Cc: Wolfram Sang, torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

On Wed, Aug 13, 2014 at 10:50:32AM +0800, Lan Tianyu wrote:
> On 2014年08月13日 10:03, Wolfram Sang wrote:
> > On Tue, Aug 12, 2014 at 12:53:21PM +0300, Mika Westerberg wrote:
> >> On Mon, Aug 11, 2014 at 03:00:55PM +0800, Lan Tianyu wrote:
> >>> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> >>> config) adds a new kernel config I2C_ACPI and make I2C core built in
> >>> when the config is selected. This is wrong because distributions
> >>> etc generally compile I2C as a module and the commit broken that.
> >>> This patch is to make I2C core able to be a module when I2C_ACPI is
> >>> selected. Original issue the commit da3c6647 tried to avoid will
> >>> be fixed in ACPICA and it's rarely triggered during unloading module. 
> >>>
> >>> Signed-off-by: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> >>
> >> I wonder if we can do
> >>
> >> 	depends on I2C=y
> >>
> >> here? If I understand it right, then we only build the ACPI_I2C if I2C
> >> is compiled into the kernel. That way the problem da3c6647 tried to
> >> solve doens't re-appear.
> >>
> >> We can later on relax this once ACPICA has been fixed. Thoughts?
> > 
> > I had the same idea yet my travel to Chicago interrupted thinking about
> > it further. Once I get rid of my jetlag, I'll have a closer look. Unless
> > you already came up with the perfect solution until then, of course ;)
> >
> 
> Hi Mika & Wolfram:
> 	I have one concern about "depends on I2C=y". If distribution config
> file selects I2C core as a module, the original code can enumerate I2C
> slave devices from ACPI table. But now I2C_ACPI depends on I2C core
> built in, the I2C module can't enumerate devices from ACPI table. This
> maybe a regression for distribution?

True, but only the I2C OpRegion parts needs to have I2C=y. Does it make
sense to name ACPI_I2C to ACPI_I2C_OPREGION (or something like that)
and only enable it when I2C=y? Then we would have ACPI I2C enumeration
still in place.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
@ 2014-08-13  7:22           ` Lan Tianyu
  0 siblings, 0 replies; 23+ messages in thread
From: Lan Tianyu @ 2014-08-13  7:22 UTC (permalink / raw)
  To: Mika Westerberg; +Cc: Wolfram Sang, torvalds, linux-i2c, linux-kernel

On 2014年08月13日 15:07, Mika Westerberg wrote:
> On Wed, Aug 13, 2014 at 10:50:32AM +0800, Lan Tianyu wrote:
>> On 2014年08月13日 10:03, Wolfram Sang wrote:
>>> On Tue, Aug 12, 2014 at 12:53:21PM +0300, Mika Westerberg wrote:
>>>> On Mon, Aug 11, 2014 at 03:00:55PM +0800, Lan Tianyu wrote:
>>>>> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
>>>>> config) adds a new kernel config I2C_ACPI and make I2C core built in
>>>>> when the config is selected. This is wrong because distributions
>>>>> etc generally compile I2C as a module and the commit broken that.
>>>>> This patch is to make I2C core able to be a module when I2C_ACPI is
>>>>> selected. Original issue the commit da3c6647 tried to avoid will
>>>>> be fixed in ACPICA and it's rarely triggered during unloading module. 
>>>>>
>>>>> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
>>>>
>>>> I wonder if we can do
>>>>
>>>> 	depends on I2C=y
>>>>
>>>> here? If I understand it right, then we only build the ACPI_I2C if I2C
>>>> is compiled into the kernel. That way the problem da3c6647 tried to
>>>> solve doens't re-appear.
>>>>
>>>> We can later on relax this once ACPICA has been fixed. Thoughts?
>>>
>>> I had the same idea yet my travel to Chicago interrupted thinking about
>>> it further. Once I get rid of my jetlag, I'll have a closer look. Unless
>>> you already came up with the perfect solution until then, of course ;)
>>>
>>
>> Hi Mika & Wolfram:
>> 	I have one concern about "depends on I2C=y". If distribution config
>> file selects I2C core as a module, the original code can enumerate I2C
>> slave devices from ACPI table. But now I2C_ACPI depends on I2C core
>> built in, the I2C module can't enumerate devices from ACPI table. This
>> maybe a regression for distribution?
> 
> True, but only the I2C OpRegion parts needs to have I2C=y. Does it make
> sense to name ACPI_I2C to ACPI_I2C_OPREGION (or something like that)
> and only enable it when I2C=y? Then we would have ACPI I2C enumeration
> still in place.
> 

Yes, this makes sense to me. I will rewrite the patch.

-- 
Best regards
Tianyu Lan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
@ 2014-08-13  7:22           ` Lan Tianyu
  0 siblings, 0 replies; 23+ messages in thread
From: Lan Tianyu @ 2014-08-13  7:22 UTC (permalink / raw)
  To: Mika Westerberg
  Cc: Wolfram Sang, torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

On 2014年08月13日 15:07, Mika Westerberg wrote:
> On Wed, Aug 13, 2014 at 10:50:32AM +0800, Lan Tianyu wrote:
>> On 2014年08月13日 10:03, Wolfram Sang wrote:
>>> On Tue, Aug 12, 2014 at 12:53:21PM +0300, Mika Westerberg wrote:
>>>> On Mon, Aug 11, 2014 at 03:00:55PM +0800, Lan Tianyu wrote:
>>>>> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
>>>>> config) adds a new kernel config I2C_ACPI and make I2C core built in
>>>>> when the config is selected. This is wrong because distributions
>>>>> etc generally compile I2C as a module and the commit broken that.
>>>>> This patch is to make I2C core able to be a module when I2C_ACPI is
>>>>> selected. Original issue the commit da3c6647 tried to avoid will
>>>>> be fixed in ACPICA and it's rarely triggered during unloading module. 
>>>>>
>>>>> Signed-off-by: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
>>>>
>>>> I wonder if we can do
>>>>
>>>> 	depends on I2C=y
>>>>
>>>> here? If I understand it right, then we only build the ACPI_I2C if I2C
>>>> is compiled into the kernel. That way the problem da3c6647 tried to
>>>> solve doens't re-appear.
>>>>
>>>> We can later on relax this once ACPICA has been fixed. Thoughts?
>>>
>>> I had the same idea yet my travel to Chicago interrupted thinking about
>>> it further. Once I get rid of my jetlag, I'll have a closer look. Unless
>>> you already came up with the perfect solution until then, of course ;)
>>>
>>
>> Hi Mika & Wolfram:
>> 	I have one concern about "depends on I2C=y". If distribution config
>> file selects I2C core as a module, the original code can enumerate I2C
>> slave devices from ACPI table. But now I2C_ACPI depends on I2C core
>> built in, the I2C module can't enumerate devices from ACPI table. This
>> maybe a regression for distribution?
> 
> True, but only the I2C OpRegion parts needs to have I2C=y. Does it make
> sense to name ACPI_I2C to ACPI_I2C_OPREGION (or something like that)
> and only enable it when I2C=y? Then we would have ACPI I2C enumeration
> still in place.
> 

Yes, this makes sense to me. I will rewrite the patch.

-- 
Best regards
Tianyu Lan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected.
  2014-08-13  7:22           ` Lan Tianyu
  (?)
@ 2014-08-14  9:37           ` Wolfram Sang
  2014-08-15  5:38               ` Lan Tianyu
  -1 siblings, 1 reply; 23+ messages in thread
From: Wolfram Sang @ 2014-08-14  9:37 UTC (permalink / raw)
  To: Lan Tianyu; +Cc: Mika Westerberg, torvalds, linux-i2c, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 411 bytes --]

> > True, but only the I2C OpRegion parts needs to have I2C=y. Does it make
> > sense to name ACPI_I2C to ACPI_I2C_OPREGION (or something like that)
> > and only enable it when I2C=y? Then we would have ACPI I2C enumeration
> > still in place.
> > 
> 
> Yes, this makes sense to me. I will rewrite the patch.

Ping. I'd like to send the fix to Linus during the merge-window.

Thanks,

   Wolfram


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH V2] I2C: Rework kernel config I2C_ACPI
  2014-08-14  9:37           ` Wolfram Sang
@ 2014-08-15  5:38               ` Lan Tianyu
  0 siblings, 0 replies; 23+ messages in thread
From: Lan Tianyu @ 2014-08-15  5:38 UTC (permalink / raw)
  To: wsa, mika.westerberg, torvalds; +Cc: Lan Tianyu, linux-i2c, linux-kernel

Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
config) adds a new kernel config I2C_ACPI and make I2C core built in
when the config is selected. This is wrong because distributions
etc generally compile I2C as a module and the commit broken that.
This patch is to rename I2C_ACPI to ACPI_I2C_OPREGION. New config
only controls ACPI I2C operation region code and depends on I2C=y.

Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
---
 drivers/i2c/Kconfig    | 20 +++++++-------------
 drivers/i2c/Makefile   |  2 +-
 drivers/i2c/i2c-acpi.c |  2 ++
 include/linux/i2c.h    | 12 ++++++++----
 4 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 3e3b680..f0937e5 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -2,9 +2,7 @@
 # I2C subsystem configuration
 #
 
-menu "I2C support"
-
-config I2C
+menuconfig I2C
 	tristate "I2C support"
 	select RT_MUTEXES
 	---help---
@@ -23,17 +21,14 @@ config I2C
 	  This I2C support can also be built as a module.  If so, the module
 	  will be called i2c-core.
 
-config I2C_ACPI
-	bool "I2C ACPI support"
-	select I2C
-	depends on ACPI
+config ACPI_I2C_OPREGION
+	bool "ACPI I2C Operation region support"
+	depends on I2C=y && ACPI
 	default y
 	help
-	  Say Y here if you want to enable ACPI I2C support. This includes support
-	  for automatic enumeration of I2C slave devices and support for ACPI I2C
-	  Operation Regions. Operation Regions allow firmware (BIOS) code to
-	  access I2C slave devices, such as smart batteries through an I2C host
-	  controller driver.
+	  Say Y here if you want to enable ACPI I2C operation region support.
+	  Operation Regions allow firmware (BIOS) code to access I2C slave devices,
+	  such as smart batteries through an I2C host controller driver.
 
 if I2C
 
@@ -139,4 +134,3 @@ config I2C_DEBUG_BUS
 
 endif # I2C
 
-endmenu
diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile
index a1f590c..e0228b2 100644
--- a/drivers/i2c/Makefile
+++ b/drivers/i2c/Makefile
@@ -3,7 +3,7 @@
 #
 
 i2ccore-y := i2c-core.o
-i2ccore-$(CONFIG_I2C_ACPI)	+= i2c-acpi.o
+i2ccore-$(CONFIG_ACPI)	 	+= i2c-acpi.o
 
 obj-$(CONFIG_I2C_BOARDINFO)	+= i2c-boardinfo.o
 obj-$(CONFIG_I2C)		+= i2ccore.o
diff --git a/drivers/i2c/i2c-acpi.c b/drivers/i2c/i2c-acpi.c
index e8b6196..0dbc18c 100644
--- a/drivers/i2c/i2c-acpi.c
+++ b/drivers/i2c/i2c-acpi.c
@@ -126,6 +126,7 @@ void acpi_i2c_register_devices(struct i2c_adapter *adap)
 		dev_warn(&adap->dev, "failed to enumerate I2C slaves\n");
 }
 
+#ifdef CONFIG_ACPI_I2C_OPREGION
 static int acpi_gsb_i2c_read_bytes(struct i2c_client *client,
 		u8 cmd, u8 *data, u8 data_len)
 {
@@ -360,3 +361,4 @@ void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter)
 
 	acpi_bus_detach_private_data(handle);
 }
+#endif
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index ea50766..a95efeb 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -577,16 +577,20 @@ static inline struct i2c_adapter *of_find_i2c_adapter_by_node(struct device_node
 }
 #endif /* CONFIG_OF */
 
-#ifdef CONFIG_I2C_ACPI
-int acpi_i2c_install_space_handler(struct i2c_adapter *adapter);
-void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter);
+#ifdef CONFIG_ACPI
 void acpi_i2c_register_devices(struct i2c_adapter *adap);
 #else
 static inline void acpi_i2c_register_devices(struct i2c_adapter *adap) { }
+#endif /* CONFIG_ACPI */
+
+#ifdef CONFIG_ACPI_I2C_OPREGION
+int acpi_i2c_install_space_handler(struct i2c_adapter *adapter);
+void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter);
+#else
 static inline void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter)
 { }
 static inline int acpi_i2c_install_space_handler(struct i2c_adapter *adapter)
 { return 0; }
-#endif
+#endif /* CONFIG_ACPI_I2C_OPREGION */
 
 #endif /* _LINUX_I2C_H */
-- 
1.8.4.rc0.1.g8f6a3e5.dirty


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH V2] I2C: Rework kernel config I2C_ACPI
@ 2014-08-15  5:38               ` Lan Tianyu
  0 siblings, 0 replies; 23+ messages in thread
From: Lan Tianyu @ 2014-08-15  5:38 UTC (permalink / raw)
  To: wsa-z923LK4zBo2bacvFa/9K2g,
	mika.westerberg-VuQAYsv1563Yd54FQh9/CA,
	torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b
  Cc: Lan Tianyu, linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
config) adds a new kernel config I2C_ACPI and make I2C core built in
when the config is selected. This is wrong because distributions
etc generally compile I2C as a module and the commit broken that.
This patch is to rename I2C_ACPI to ACPI_I2C_OPREGION. New config
only controls ACPI I2C operation region code and depends on I2C=y.

Signed-off-by: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
 drivers/i2c/Kconfig    | 20 +++++++-------------
 drivers/i2c/Makefile   |  2 +-
 drivers/i2c/i2c-acpi.c |  2 ++
 include/linux/i2c.h    | 12 ++++++++----
 4 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 3e3b680..f0937e5 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -2,9 +2,7 @@
 # I2C subsystem configuration
 #
 
-menu "I2C support"
-
-config I2C
+menuconfig I2C
 	tristate "I2C support"
 	select RT_MUTEXES
 	---help---
@@ -23,17 +21,14 @@ config I2C
 	  This I2C support can also be built as a module.  If so, the module
 	  will be called i2c-core.
 
-config I2C_ACPI
-	bool "I2C ACPI support"
-	select I2C
-	depends on ACPI
+config ACPI_I2C_OPREGION
+	bool "ACPI I2C Operation region support"
+	depends on I2C=y && ACPI
 	default y
 	help
-	  Say Y here if you want to enable ACPI I2C support. This includes support
-	  for automatic enumeration of I2C slave devices and support for ACPI I2C
-	  Operation Regions. Operation Regions allow firmware (BIOS) code to
-	  access I2C slave devices, such as smart batteries through an I2C host
-	  controller driver.
+	  Say Y here if you want to enable ACPI I2C operation region support.
+	  Operation Regions allow firmware (BIOS) code to access I2C slave devices,
+	  such as smart batteries through an I2C host controller driver.
 
 if I2C
 
@@ -139,4 +134,3 @@ config I2C_DEBUG_BUS
 
 endif # I2C
 
-endmenu
diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile
index a1f590c..e0228b2 100644
--- a/drivers/i2c/Makefile
+++ b/drivers/i2c/Makefile
@@ -3,7 +3,7 @@
 #
 
 i2ccore-y := i2c-core.o
-i2ccore-$(CONFIG_I2C_ACPI)	+= i2c-acpi.o
+i2ccore-$(CONFIG_ACPI)	 	+= i2c-acpi.o
 
 obj-$(CONFIG_I2C_BOARDINFO)	+= i2c-boardinfo.o
 obj-$(CONFIG_I2C)		+= i2ccore.o
diff --git a/drivers/i2c/i2c-acpi.c b/drivers/i2c/i2c-acpi.c
index e8b6196..0dbc18c 100644
--- a/drivers/i2c/i2c-acpi.c
+++ b/drivers/i2c/i2c-acpi.c
@@ -126,6 +126,7 @@ void acpi_i2c_register_devices(struct i2c_adapter *adap)
 		dev_warn(&adap->dev, "failed to enumerate I2C slaves\n");
 }
 
+#ifdef CONFIG_ACPI_I2C_OPREGION
 static int acpi_gsb_i2c_read_bytes(struct i2c_client *client,
 		u8 cmd, u8 *data, u8 data_len)
 {
@@ -360,3 +361,4 @@ void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter)
 
 	acpi_bus_detach_private_data(handle);
 }
+#endif
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index ea50766..a95efeb 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -577,16 +577,20 @@ static inline struct i2c_adapter *of_find_i2c_adapter_by_node(struct device_node
 }
 #endif /* CONFIG_OF */
 
-#ifdef CONFIG_I2C_ACPI
-int acpi_i2c_install_space_handler(struct i2c_adapter *adapter);
-void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter);
+#ifdef CONFIG_ACPI
 void acpi_i2c_register_devices(struct i2c_adapter *adap);
 #else
 static inline void acpi_i2c_register_devices(struct i2c_adapter *adap) { }
+#endif /* CONFIG_ACPI */
+
+#ifdef CONFIG_ACPI_I2C_OPREGION
+int acpi_i2c_install_space_handler(struct i2c_adapter *adapter);
+void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter);
+#else
 static inline void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter)
 { }
 static inline int acpi_i2c_install_space_handler(struct i2c_adapter *adapter)
 { return 0; }
-#endif
+#endif /* CONFIG_ACPI_I2C_OPREGION */
 
 #endif /* _LINUX_I2C_H */
-- 
1.8.4.rc0.1.g8f6a3e5.dirty

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH V2] I2C: Rework kernel config I2C_ACPI
@ 2014-08-15  8:25                 ` Mika Westerberg
  0 siblings, 0 replies; 23+ messages in thread
From: Mika Westerberg @ 2014-08-15  8:25 UTC (permalink / raw)
  To: Lan Tianyu; +Cc: wsa, torvalds, linux-i2c, linux-kernel

On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote:
> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> config) adds a new kernel config I2C_ACPI and make I2C core built in
> when the config is selected. This is wrong because distributions
> etc generally compile I2C as a module and the commit broken that.
> This patch is to rename I2C_ACPI to ACPI_I2C_OPREGION. New config
> only controls ACPI I2C operation region code and depends on I2C=y.
> 
> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>

Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH V2] I2C: Rework kernel config I2C_ACPI
@ 2014-08-15  8:25                 ` Mika Westerberg
  0 siblings, 0 replies; 23+ messages in thread
From: Mika Westerberg @ 2014-08-15  8:25 UTC (permalink / raw)
  To: Lan Tianyu
  Cc: wsa-z923LK4zBo2bacvFa/9K2g,
	torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote:
> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> config) adds a new kernel config I2C_ACPI and make I2C core built in
> when the config is selected. This is wrong because distributions
> etc generally compile I2C as a module and the commit broken that.
> This patch is to rename I2C_ACPI to ACPI_I2C_OPREGION. New config
> only controls ACPI I2C operation region code and depends on I2C=y.
> 
> Signed-off-by: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

Reviewed-by: Mika Westerberg <mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH V2] I2C: Rework kernel config I2C_ACPI
@ 2014-08-15 11:03                 ` Wolfram Sang
  0 siblings, 0 replies; 23+ messages in thread
From: Wolfram Sang @ 2014-08-15 11:03 UTC (permalink / raw)
  To: Lan Tianyu; +Cc: mika.westerberg, torvalds, linux-i2c, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 612 bytes --]

On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote:
> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> config) adds a new kernel config I2C_ACPI and make I2C core built in
> when the config is selected. This is wrong because distributions
> etc generally compile I2C as a module and the commit broken that.
> This patch is to rename I2C_ACPI to ACPI_I2C_OPREGION. New config
> only controls ACPI I2C operation region code and depends on I2C=y.
> 
> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>

It looks good. What tests did you perform?

Thanks,

   Wolfram

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH V2] I2C: Rework kernel config I2C_ACPI
@ 2014-08-15 11:03                 ` Wolfram Sang
  0 siblings, 0 replies; 23+ messages in thread
From: Wolfram Sang @ 2014-08-15 11:03 UTC (permalink / raw)
  To: Lan Tianyu
  Cc: mika.westerberg-VuQAYsv1563Yd54FQh9/CA,
	torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 642 bytes --]

On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote:
> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> config) adds a new kernel config I2C_ACPI and make I2C core built in
> when the config is selected. This is wrong because distributions
> etc generally compile I2C as a module and the commit broken that.
> This patch is to rename I2C_ACPI to ACPI_I2C_OPREGION. New config
> only controls ACPI I2C operation region code and depends on I2C=y.
> 
> Signed-off-by: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

It looks good. What tests did you perform?

Thanks,

   Wolfram

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH V2] I2C: Rework kernel config I2C_ACPI
  2014-08-15 11:03                 ` Wolfram Sang
@ 2014-08-18  1:59                   ` Lan Tianyu
  -1 siblings, 0 replies; 23+ messages in thread
From: Lan Tianyu @ 2014-08-18  1:59 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: mika.westerberg, torvalds, linux-i2c, linux-kernel

On 2014年08月15日 19:03, Wolfram Sang wrote:
> On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote:
>> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
>> config) adds a new kernel config I2C_ACPI and make I2C core built in
>> when the config is selected. This is wrong because distributions
>> etc generally compile I2C as a module and the commit broken that.
>> This patch is to rename I2C_ACPI to ACPI_I2C_OPREGION. New config
>> only controls ACPI I2C operation region code and depends on I2C=y.
>>
>> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
> 
> It looks good. What tests did you perform?
> 
> Thanks,
> 
>    Wolfram
> 

Hi Wolfram:
	The patch passed through Fengguang's 0-day autobuild test.

Following are config files tested.

configs tested: 122

parisc                        c3000_defconfig
parisc                         b180_defconfig
parisc                              defconfig
alpha                               defconfig
parisc                            allnoconfig
mips                             allmodconfig
mips                                   jz4740
mips                              allnoconfig
mips                      fuloong2e_defconfig
mips                                     txx9
x86_64                            allnoconfig
x86_64                                    lkp
x86_64                                   rhel
sh                            titan_defconfig
sh                          rsk7269_defconfig
sh                  sh7785lcr_32bit_defconfig
sh                                allnoconfig
x86_64                     randconfig-c3-0815
x86_64                     randconfig-c1-0815
x86_64                     randconfig-c0-0815
x86_64                     randconfig-c2-0815
x86_64                           allmodconfig
i386                           randconfig-jx5
i386                           randconfig-jx4
i386                           randconfig-jx7
i386                           randconfig-jx6
i386                           randconfig-jx1
i386                           randconfig-jx0
i386                           randconfig-jx3
i386                           randconfig-jx2
i386                           randconfig-jx9
i386                           randconfig-jx8
x86_64                         randconfig-jx8
x86_64                         randconfig-jx9
x86_64                         randconfig-jx2
x86_64                         randconfig-jx3
x86_64                         randconfig-jx0
x86_64                         randconfig-jx1
x86_64                         randconfig-jx6
x86_64                         randconfig-jx7
x86_64                         randconfig-jx4
x86_64                         randconfig-jx5
powerpc                      chroma_defconfig
powerpc                 linkstation_defconfig
powerpc                               powerpc
powerpc                         wii_defconfig
powerpc                    gamecube_defconfig
powerpc               corenet64_smp_defconfig
powerpc                               mpc512x
powerpc                                ppc44x
x86_64                     randconfig-j0-0815
x86_64                     randconfig-j1-0815
i386                      randconfig-ha2-0815
i386                      randconfig-ha5-0815
i386                      randconfig-ha1-0815
i386                      randconfig-ha0-0815
i386                      randconfig-ha3-0815
i386                      randconfig-ha4-0815
ia64                             allmodconfig
ia64                              allnoconfig
ia64                                defconfig
ia64                             alldefconfig
sparc                               defconfig
sparc64                           allnoconfig
sparc64                             defconfig
xtensa                       common_defconfig
m32r                       m32104ut_defconfig
xtensa                          iss_defconfig
m32r                         opsput_defconfig
m32r                           usrv_defconfig
m32r                     mappi3.smp_defconfig
microblaze                      mmu_defconfig
microblaze                    nommu_defconfig
microblaze                       allyesconfig
i386                             allyesconfig
cris                 etrax-100lx_v2_defconfig
blackfin                  TCM-BF537_defconfig
blackfin            BF561-EZKIT-SMP_defconfig
blackfin                BF533-EZKIT_defconfig
blackfin                BF526-EZBRD_defconfig
i386                       randconfig-r1-0815
i386                       randconfig-r2-0815
i386                       randconfig-r3-0815
i386                       randconfig-r0-0815
s390                             allmodconfig
s390                              allnoconfig
s390                                defconfig
mn10300                     asb2364_defconfig
openrisc                    or1ksim_defconfig
um                           x86_64_defconfig
um                             i386_defconfig
avr32                      atngw100_defconfig
frv                                 defconfig
avr32                     atstk1006_defconfig
tile                         tilegx_defconfig
i386                          randconfig-x009
i386                          randconfig-x008
i386                          randconfig-x005
i386                          randconfig-x004
i386                          randconfig-x007
i386                          randconfig-x006
i386                          randconfig-x001
i386                          randconfig-x000
i386                          randconfig-x003
i386                          randconfig-x002
x86_64                        randconfig-x000
x86_64                        randconfig-x001
x86_64                        randconfig-x002
x86_64                        randconfig-x003
x86_64                        randconfig-x004
x86_64                        randconfig-x005
x86_64                        randconfig-x006
x86_64                        randconfig-x007
x86_64                        randconfig-x008
x86_64                        randconfig-x009
powerpc                             defconfig
powerpc                       ppc64_defconfig
powerpc                           allnoconfig
powerpc                          allmodconfig
x86_64                             acpi-redef
x86_64                           allyesdebian
x86_64                                nfsroot

-- 
Best regards
Tianyu Lan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH V2] I2C: Rework kernel config I2C_ACPI
@ 2014-08-18  1:59                   ` Lan Tianyu
  0 siblings, 0 replies; 23+ messages in thread
From: Lan Tianyu @ 2014-08-18  1:59 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: mika.westerberg-VuQAYsv1563Yd54FQh9/CA,
	torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

On 2014年08月15日 19:03, Wolfram Sang wrote:
> On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote:
>> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
>> config) adds a new kernel config I2C_ACPI and make I2C core built in
>> when the config is selected. This is wrong because distributions
>> etc generally compile I2C as a module and the commit broken that.
>> This patch is to rename I2C_ACPI to ACPI_I2C_OPREGION. New config
>> only controls ACPI I2C operation region code and depends on I2C=y.
>>
>> Signed-off-by: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> 
> It looks good. What tests did you perform?
> 
> Thanks,
> 
>    Wolfram
> 

Hi Wolfram:
	The patch passed through Fengguang's 0-day autobuild test.

Following are config files tested.

configs tested: 122

parisc                        c3000_defconfig
parisc                         b180_defconfig
parisc                              defconfig
alpha                               defconfig
parisc                            allnoconfig
mips                             allmodconfig
mips                                   jz4740
mips                              allnoconfig
mips                      fuloong2e_defconfig
mips                                     txx9
x86_64                            allnoconfig
x86_64                                    lkp
x86_64                                   rhel
sh                            titan_defconfig
sh                          rsk7269_defconfig
sh                  sh7785lcr_32bit_defconfig
sh                                allnoconfig
x86_64                     randconfig-c3-0815
x86_64                     randconfig-c1-0815
x86_64                     randconfig-c0-0815
x86_64                     randconfig-c2-0815
x86_64                           allmodconfig
i386                           randconfig-jx5
i386                           randconfig-jx4
i386                           randconfig-jx7
i386                           randconfig-jx6
i386                           randconfig-jx1
i386                           randconfig-jx0
i386                           randconfig-jx3
i386                           randconfig-jx2
i386                           randconfig-jx9
i386                           randconfig-jx8
x86_64                         randconfig-jx8
x86_64                         randconfig-jx9
x86_64                         randconfig-jx2
x86_64                         randconfig-jx3
x86_64                         randconfig-jx0
x86_64                         randconfig-jx1
x86_64                         randconfig-jx6
x86_64                         randconfig-jx7
x86_64                         randconfig-jx4
x86_64                         randconfig-jx5
powerpc                      chroma_defconfig
powerpc                 linkstation_defconfig
powerpc                               powerpc
powerpc                         wii_defconfig
powerpc                    gamecube_defconfig
powerpc               corenet64_smp_defconfig
powerpc                               mpc512x
powerpc                                ppc44x
x86_64                     randconfig-j0-0815
x86_64                     randconfig-j1-0815
i386                      randconfig-ha2-0815
i386                      randconfig-ha5-0815
i386                      randconfig-ha1-0815
i386                      randconfig-ha0-0815
i386                      randconfig-ha3-0815
i386                      randconfig-ha4-0815
ia64                             allmodconfig
ia64                              allnoconfig
ia64                                defconfig
ia64                             alldefconfig
sparc                               defconfig
sparc64                           allnoconfig
sparc64                             defconfig
xtensa                       common_defconfig
m32r                       m32104ut_defconfig
xtensa                          iss_defconfig
m32r                         opsput_defconfig
m32r                           usrv_defconfig
m32r                     mappi3.smp_defconfig
microblaze                      mmu_defconfig
microblaze                    nommu_defconfig
microblaze                       allyesconfig
i386                             allyesconfig
cris                 etrax-100lx_v2_defconfig
blackfin                  TCM-BF537_defconfig
blackfin            BF561-EZKIT-SMP_defconfig
blackfin                BF533-EZKIT_defconfig
blackfin                BF526-EZBRD_defconfig
i386                       randconfig-r1-0815
i386                       randconfig-r2-0815
i386                       randconfig-r3-0815
i386                       randconfig-r0-0815
s390                             allmodconfig
s390                              allnoconfig
s390                                defconfig
mn10300                     asb2364_defconfig
openrisc                    or1ksim_defconfig
um                           x86_64_defconfig
um                             i386_defconfig
avr32                      atngw100_defconfig
frv                                 defconfig
avr32                     atstk1006_defconfig
tile                         tilegx_defconfig
i386                          randconfig-x009
i386                          randconfig-x008
i386                          randconfig-x005
i386                          randconfig-x004
i386                          randconfig-x007
i386                          randconfig-x006
i386                          randconfig-x001
i386                          randconfig-x000
i386                          randconfig-x003
i386                          randconfig-x002
x86_64                        randconfig-x000
x86_64                        randconfig-x001
x86_64                        randconfig-x002
x86_64                        randconfig-x003
x86_64                        randconfig-x004
x86_64                        randconfig-x005
x86_64                        randconfig-x006
x86_64                        randconfig-x007
x86_64                        randconfig-x008
x86_64                        randconfig-x009
powerpc                             defconfig
powerpc                       ppc64_defconfig
powerpc                           allnoconfig
powerpc                          allmodconfig
x86_64                             acpi-redef
x86_64                           allyesdebian
x86_64                                nfsroot

-- 
Best regards
Tianyu Lan

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH V2] I2C: Rework kernel config I2C_ACPI
@ 2014-08-19 14:44                 ` Wolfram Sang
  0 siblings, 0 replies; 23+ messages in thread
From: Wolfram Sang @ 2014-08-19 14:44 UTC (permalink / raw)
  To: Lan Tianyu; +Cc: mika.westerberg, torvalds, linux-i2c, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 738 bytes --]

On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote:
> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> config) adds a new kernel config I2C_ACPI and make I2C core built in
> when the config is selected. This is wrong because distributions
> etc generally compile I2C as a module and the commit broken that.
> This patch is to rename I2C_ACPI to ACPI_I2C_OPREGION. New config
> only controls ACPI I2C operation region code and depends on I2C=y.
> 
> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>

Removed the unrelated "menuconfig" change and applied to for-current,
thanks! Please don't send V2 patches as "in-reply-to" V1. This gets
confusing, especially when a series approaches V10.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH V2] I2C: Rework kernel config I2C_ACPI
@ 2014-08-19 14:44                 ` Wolfram Sang
  0 siblings, 0 replies; 23+ messages in thread
From: Wolfram Sang @ 2014-08-19 14:44 UTC (permalink / raw)
  To: Lan Tianyu
  Cc: mika.westerberg-VuQAYsv1563Yd54FQh9/CA,
	torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 768 bytes --]

On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote:
> Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
> config) adds a new kernel config I2C_ACPI and make I2C core built in
> when the config is selected. This is wrong because distributions
> etc generally compile I2C as a module and the commit broken that.
> This patch is to rename I2C_ACPI to ACPI_I2C_OPREGION. New config
> only controls ACPI I2C operation region code and depends on I2C=y.
> 
> Signed-off-by: Lan Tianyu <tianyu.lan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

Removed the unrelated "menuconfig" change and applied to for-current,
thanks! Please don't send V2 patches as "in-reply-to" V1. This gets
confusing, especially when a series approaches V10.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2014-08-19 14:45 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-11  7:00 [PATCH] I2C: Make I2C core able to be module when I2C_ACPI is selected Lan Tianyu
2014-08-11  7:00 ` Lan Tianyu
2014-08-12  9:53 ` Mika Westerberg
2014-08-12  9:53   ` Mika Westerberg
2014-08-13  2:03   ` Wolfram Sang
2014-08-13  2:03     ` Wolfram Sang
2014-08-13  2:50     ` Lan Tianyu
2014-08-13  2:50       ` Lan Tianyu
2014-08-13  7:07       ` Mika Westerberg
2014-08-13  7:07         ` Mika Westerberg
2014-08-13  7:22         ` Lan Tianyu
2014-08-13  7:22           ` Lan Tianyu
2014-08-14  9:37           ` Wolfram Sang
2014-08-15  5:38             ` [PATCH V2] I2C: Rework kernel config I2C_ACPI Lan Tianyu
2014-08-15  5:38               ` Lan Tianyu
2014-08-15  8:25               ` Mika Westerberg
2014-08-15  8:25                 ` Mika Westerberg
2014-08-15 11:03               ` Wolfram Sang
2014-08-15 11:03                 ` Wolfram Sang
2014-08-18  1:59                 ` Lan Tianyu
2014-08-18  1:59                   ` Lan Tianyu
2014-08-19 14:44               ` Wolfram Sang
2014-08-19 14:44                 ` Wolfram Sang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.