lkml.org 
[lkml]   [2014]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 9/9] I2C/ACPI: Add CONFIG_I2C_ACPI config
    Date
    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. The race will
    be fixed later in the ACPICA.

    Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
    ---
    drivers/i2c/Kconfig | 16 +++++++++++++++-
    drivers/i2c/Makefile | 2 +-
    include/linux/i2c.h | 2 +-
    3 files changed, 17 insertions(+), 3 deletions(-)

    diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
    index 7b7ea32..15d782e 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,16 @@ 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
    + 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.
    +
    if I2C

    config I2C_BOARDINFO
    @@ -124,3 +136,5 @@ config I2C_DEBUG_BUS
    on.

    endif # I2C
    +
    +endmenu
    diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile
    index 80db307..37464ee 100644
    --- a/drivers/i2c/Makefile
    +++ b/drivers/i2c/Makefile
    @@ -3,7 +3,7 @@
    #

    i2ccore-y := i2c-core.o
    -i2ccore-$(CONFIG_ACPI) += i2c-acpi.o
    +i2ccore-$(CONFIG_I2C_ACPI) += i2c-acpi.o

    obj-$(CONFIG_I2C_BOARDINFO) += i2c-boardinfo.o
    obj-$(CONFIG_I2C) += i2ccore.o
    diff --git a/include/linux/i2c.h b/include/linux/i2c.h
    index fc1ef42..d0ece9f 100644
    --- a/include/linux/i2c.h
    +++ b/include/linux/i2c.h
    @@ -583,7 +583,7 @@ static inline struct i2c_adapter *of_find_i2c_adapter_by_node(struct device_node
    }
    #endif /* CONFIG_OF */

    -#ifdef CONFIG_ACPI
    +#ifdef CONFIG_I2C_ACPI
    int acpi_i2c_install_space_handler(struct i2c_adapter *adapter);
    void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter);
    void acpi_i2c_register_devices(struct i2c_adapter *adap);
    --
    1.8.4.rc0.1.g8f6a3e5.dirty


    \
     
     \ /
      Last update: 2014-04-16 16:01    [W:4.567 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site