On Wed, May 9, 2018 at 9:12 PM, Dmitry Torokhov <dtor@xxxxxxxxxx> wrote: > From: Dmitry Torokhov <dtor@xxxxxxxxxxxx> > > On many Chromebooks touch devices are multi-sourced; the components are > electrically compatible and one can be freely swapped for another without > changing the OS image or firmware. > > To avoid bunch of scary messages when device is not actually present in the > system let's try testing basic communication with it and if there is no > response terminate probe early with -ENXIO. > > Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> > --- Looks good. Tested on a Dell XPS with an i2c-hid touchpad: Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Cheers, Benjamin > drivers/hid/i2c-hid/i2c-hid.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c > index 7230243b94d30..a59d483ff316a 100644 > --- a/drivers/hid/i2c-hid/i2c-hid.c > +++ b/drivers/hid/i2c-hid/i2c-hid.c > @@ -1048,6 +1048,14 @@ static int i2c_hid_probe(struct i2c_client *client, > pm_runtime_enable(&client->dev); > device_enable_async_suspend(&client->dev); > > + /* Make sure there is something at this address */ > + ret = i2c_smbus_read_byte(client); > + if (ret < 0) { > + dev_dbg(&client->dev, "nothing at this address: %d\n", ret); > + ret = -ENXIO; > + goto err_pm; > + } > + > ret = i2c_hid_fetch_hid_descriptor(ihid); > if (ret < 0) > goto err_pm; > -- > 2.17.0.441.gb46fe60e1d-goog > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html