lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1AE640813FDE7649BE1B193DEA596E88025577CB@SHSMSX101.ccr.corp.intel.com>
Date:	Wed, 23 Apr 2014 06:47:05 +0000
From:	"Zheng, Lv" <lv.zheng@...el.com>
To:	"Lan, Tianyu" <tianyu.lan@...el.com>,
	Mika Westerberg <mika.westerberg@...ux.intel.com>
CC:	"wsa@...-dreams.de" <wsa@...-dreams.de>,
	"rjw@...ysocki.net" <rjw@...ysocki.net>,
	"awilliam@...hat.com" <awilliam@...hat.com>,
	"lenb@...nel.org" <lenb@...nel.org>,
	"linux-i2c@...r.kernel.org" <linux-i2c@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>
Subject: RE: [Resend Patch 9/9] I2C/ACPI: Add CONFIG_I2C_ACPI config

Hi, Tianyu

> From: Lan, Tianyu
> Sent: Wednesday, April 23, 2014 1:40 PM
> 
> On 2014年04月22日 19:45, Mika Westerberg wrote:
> > On Tue, Apr 22, 2014 at 02:24:15PM +0800, Lan Tianyu wrote:
> >> This patch is to add CONFIG_I2C_ACPI. Current there is a race between
> >> removing I2C ACPI operation region and ACPI AML code accessing.
> >> So make i2c core built-in if CONFIG_I2C_ACPI is set.
> >>
> >> Signed-off-by: Lan Tianyu <tianyu.lan@...el.com>
> >> ---
> >>  drivers/i2c/Kconfig  | 17 ++++++++++++++++-
> >>  drivers/i2c/Makefile |  2 +-
> >>  include/linux/i2c.h  |  2 +-
> >>  3 files changed, 18 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
> >> index 7b7ea32..c670d49 100644
> >> --- a/drivers/i2c/Kconfig
> >> +++ b/drivers/i2c/Kconfig
> >> @@ -2,7 +2,9 @@
> >>  # I2C subsystem configuration
> >>  #
> >>
> >> -menuconfig I2C
> >> +menu "I2C support"
> >> +
> >> +config I2C
> >>  	tristate "I2C support"
> >>  	select RT_MUTEXES
> >>  	---help---
> >> @@ -21,6 +23,17 @@ menuconfig 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
> >> +	default y
> >> +	help
> >> +	  Say Y here if you want to enable I2C ACPI function. ACPI table
> >> +	  provides I2C slave devices' information to enumerate these devices.
> >> +	  This option also allows ACPI AML code to access I2C slave devices
> >> +	  via I2C ACPI operation region to fulfill ACPI method.
> >> +
> >
> > I'm wondering, can we provide some sort of wrapper function from ACPI core
> > that is guaranteed to be built in to the kernel image and use it instead of
> > adding new Kconfig options?
> >
> Cc: LV
> 
> LV tried to fix the issue via wrapper solution in the ACPI code before.
> https://lkml.org/lkml/2013/7/23/87
> 
> He has a plan to resolve the issue in ACPICA later.
> 
> Other choice is to increase the i2c-core module count to prevent it
> being unloaded when i2c operation region handler is installed. Remove
> the code When LV finish his job.

You may see it implemented in ACPICA after several release.
If you need a fix for now, you can use the patch pointed to by the link you've provided,
Or you could find an updated one here:
 acpi-ipmi13.patch archived in (https://bugzilla.kernel.org/attachment.cgi?id=112611)

I think the solution you've provided in this patch is also reasonable for now.
IPMI also uses a similar solution to solve this issue.
Please refer to the CONFIG_ACPI_IPMI.

The story can be found at:
http://www.spinics.net/lists/linux-acpi/msg49044.html
And the similar solution can be found at:
http://www.spinics.net/lists/linux-acpi/msg49184.html

Thanks and best regards
-Lv

> 
> --
> Best regards
> Tianyu Lan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ