Patch "i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()" has been added to the 4.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()

to the 4.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     i2c-core-call-i2c_acpi_install_space_handler-before-.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit aaf7abb50c7d9c9fbeff170addef9b858f61c2cb
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date:   Wed Sep 9 12:32:33 2020 +0200

    i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()
    
    [ Upstream commit 21653a4181ff292480599dad996a2b759ccf050f ]
    
    Some ACPI i2c-devices _STA method (which is used to detect if the device
    is present) use autodetection code which probes which device is present
    over i2c. This requires the I2C ACPI OpRegion handler to be registered
    before we enumerate i2c-clients under the i2c-adapter.
    
    This fixes the i2c touchpad on the Lenovo ThinkBook 14-IIL and
    ThinkBook 15 IIL not getting an i2c-client instantiated and thus not
    working.
    
    BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1842039
    Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
    Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
    Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
index 7b961c9c62eff..9f2aa45560e62 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
@@ -1280,8 +1280,8 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
 
 	/* create pre-declared device nodes */
 	of_i2c_register_devices(adap);
-	i2c_acpi_register_devices(adap);
 	i2c_acpi_install_space_handler(adap);
+	i2c_acpi_register_devices(adap);
 
 	if (adap->nr < __i2c_first_dynamic_bus_num)
 		i2c_scan_static_board_info(adap);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux