]> git.baikalelectronics.ru Git - kernel.git/commit
platform/chrome: chromeos_laptop - instantiate Atmel at primary address
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 14 Apr 2015 20:50:09 +0000 (13:50 -0700)
committerOlof Johansson <olof@lixom.net>
Sat, 25 Apr 2015 05:07:14 +0000 (22:07 -0700)
commit5c40aebaf7ca33c84f0f8cf088f671a9cbcdb132
tree6b72ce956c4fc8c8017cb8cf60812321883e765a
parentc75a96eeaba5b1659702dafdecfe4388756354c9
platform/chrome: chromeos_laptop - instantiate Atmel at primary address

The new Atmel MXT driver expects i2c client's address contain the
primary (main address) of the chip, and calculates the expected
bootloader address form the primary address. Unfortunately chrome_laptop
does probe the devices and if touchpad (or touchscreen, or both) comes
up in bootloader mode the i2c device gets instantiated with the
bootloader address which confuses the driver.

To work around this issue let's probe the primary address first. If the
device is not detected at the primary address we'll probe alternative
addresses as "dummy" devices. If any of them are found, destroy the
dummy client and instantiate client with proper name at primary address
still.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
drivers/platform/chrome/chromeos_laptop.c