Messages in this thread | | | From | Andy Shevchenko <> | Date | Tue, 4 Apr 2017 16:45:05 +0300 | Subject | Re: [PATCH 1/2] platform/x86: silead_dmi - do not treat all devices as i2c_clients |
| |
On Tue, Apr 4, 2017 at 6:25 AM, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote: > I2C bus has both i2c clients and adapter devices, so we must be careful in > notifier code and verify that we are actually dealing with an i2c client > before using it as such.
> -static void silead_ts_dmi_add_props(struct device *dev) > +static void silead_ts_dmi_add_props(struct i2c_client *client) > {
> - struct i2c_client *client = to_i2c_client(dev);
I would replace this by struct device *dev = &client->dev;
Otherwise looks good for me.
> const struct dmi_system_id *dmi_id; > const struct silead_ts_dmi_data *ts_data; > int error; > @@ -87,11 +86,13 @@ static void silead_ts_dmi_add_props(struct device *dev) > return; > > ts_data = dmi_id->driver_data; > - if (has_acpi_companion(dev) && > + if (has_acpi_companion(&client->dev) && > !strncmp(ts_data->acpi_name, client->name, I2C_NAME_SIZE)) { > - error = device_add_properties(dev, ts_data->properties); > + error = device_add_properties(&client->dev, > + ts_data->properties); > if (error) > - dev_err(dev, "failed to add properties: %d\n", error); > + dev_err(&client->dev, > + "failed to add properties: %d\n", error); > }
-- With Best Regards, Andy Shevchenko
| |