summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2019-11-13 19:29:38 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-11-20 16:49:08 +0100
commit4483e3def11b61d95cb833e37f474de6c8052cd5 (patch)
tree7a3b43a2ed5bc0fed61e8bfb74a4560b4585b979 /arch
parent8e3caefb0deb0a72baebb6781957b1df70fd3d13 (diff)
downloadlinux-stable-4483e3def11b61d95cb833e37f474de6c8052cd5.tar.gz
linux-stable-4483e3def11b61d95cb833e37f474de6c8052cd5.tar.bz2
linux-stable-4483e3def11b61d95cb833e37f474de6c8052cd5.zip
i2c: acpi: Force bus speed to 400KHz if a Silead touchscreen is present
commit 7574c0db2e68c4d0bae9d415a683bdd8b2a761e9 upstream. Many cheap devices use Silead touchscreen controllers. Testing has shown repeatedly that these touchscreen controllers work fine at 400KHz, but for unknown reasons do not work properly at 100KHz. This has been seen on both ARM and x86 devices using totally different i2c controllers. On some devices the ACPI tables list another device at the same I2C-bus as only being capable of 100KHz, testing has shown that these other devices work fine at 400KHz (as can be expected of any recent I2C hw). This commit makes i2c_acpi_find_bus_speed() always return 400KHz if a Silead touchscreen controller is present, fixing the touchscreen not working on devices which ACPI tables' wrongly list another device on the same bus as only being capable of 100KHz. Specifically this fixes the touchscreen on the Jumper EZpad 6 m4 not working. Reported-by: youling 257 <youling257@gmail.com> Tested-by: youling 257 <youling257@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> [wsa: rewording warning a little] Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Cc: stable@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions