lkml.org 
[lkml]   [2013]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/1] Platform: x86: chromeos_laptop - convert to i2c_driver to handle i915 race
Date
From: Martin Nordholts <enselic@gmail.com>

Hello,

I have looked into solving the "touchpad/touchscreen not working on
boot"-problem on Chromebook Pixel, see for example Brock Tice's last
comment on https://plus.google.com/+LinusTorvalds/posts/1iFsBWBqoYY

I have seen Olof's attempt at a fix:

[PATCH] Platform: x86: chromeos_laptop: defer probing if no i2c busses found
https://lkml.org/lkml/2013/4/18/556

At first, I tried Olofs suggestion at the end of the thread, namely to
do bus_register_notifier() on i2c_bus_type, but it is a bit awkward:
How do you know that the i2c_adapter you are notified about is ready
to be interacted with? While investigating this, I noticed that the
i2c_driver has a .detect() mechanism, which is exactly what we need: A
callback when a newly added i2c_adapter is initialized and ready to be
used.

Since all chromeos_laptop does is to instantiate i2c devices, I
figured it would be nice to simply convert chromeos_laptop into a
i2c_driver. The result is the patch in the next mail (based on
v3.11-rc1).

I have gone through the SubmitChecklist and done everything that
applied. I have however only tested this patch on the Chromebook
Pixel, as that is what I have. I will need help with verifying the
patch on other Chromebooks.

But first, what do you think about my patch?

/ Martin

Martin Nordholts (1):
Platform: x86: chromeos_laptop - convert to i2c_driver to handle i915
race

drivers/platform/x86/chromeos_laptop.c | 426 +++++++++++++++-----------------
1 file changed, 194 insertions(+), 232 deletions(-)

--
1.7.10.4



\
 
 \ /
  Last update: 2013-07-18 21:21    [W:0.090 / U:0.708 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site