Message ID | 20171130181257.3352-1-javierm@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Thu, Nov 30, 2017 at 07:12:57PM +0100, Javier Martinez Canillas wrote: > The driver doesn't have a struct of_device_id table but supported devices > are registered via Device Trees. This is working on the assumption that a > I2C device registered via OF will always match a legacy I2C device ID and > that the MODALIAS reported will always be of the form i2c:<device>. > > But this could change in the future so the correct approach is to have an > OF device ID table if the devices are registered via OF. > > Before this patch: > > $ modinfo drivers/hwmon/pmbus/max31785.ko | grep alias > alias: i2c:max31785a > alias: i2c:max31785 > > After this patch: > > $ modinfo drivers/hwmon/pmbus/max31785.ko | grep alias > alias: i2c:max31785a > alias: i2c:max31785 > alias: of:N*T*Cmaxim,max31785aC* > alias: of:N*T*Cmaxim,max31785a > alias: of:N*T*Cmaxim,max31785C* > alias: of:N*T*Cmaxim,max31785 > > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Applied. Thanks, Guenter > --- > > drivers/hwmon/pmbus/max31785.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/hwmon/pmbus/max31785.c b/drivers/hwmon/pmbus/max31785.c > index 9313849d5160..4666b5e95159 100644 > --- a/drivers/hwmon/pmbus/max31785.c > +++ b/drivers/hwmon/pmbus/max31785.c > @@ -100,9 +100,18 @@ static const struct i2c_device_id max31785_id[] = { > > MODULE_DEVICE_TABLE(i2c, max31785_id); > > +static const struct of_device_id max31785_of_match[] = { > + { .compatible = "maxim,max31785" }, > + { .compatible = "maxim,max31785a" }, > + { }, > +}; > + > +MODULE_DEVICE_TABLE(of, max31785_of_match); > + > static struct i2c_driver max31785_driver = { > .driver = { > .name = "max31785", > + .of_match_table = max31785_of_match, > }, > .probe = max31785_probe, > .remove = pmbus_do_remove, > -- > 2.14.3 > -- To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/hwmon/pmbus/max31785.c b/drivers/hwmon/pmbus/max31785.c index 9313849d5160..4666b5e95159 100644 --- a/drivers/hwmon/pmbus/max31785.c +++ b/drivers/hwmon/pmbus/max31785.c @@ -100,9 +100,18 @@ static const struct i2c_device_id max31785_id[] = { MODULE_DEVICE_TABLE(i2c, max31785_id); +static const struct of_device_id max31785_of_match[] = { + { .compatible = "maxim,max31785" }, + { .compatible = "maxim,max31785a" }, + { }, +}; + +MODULE_DEVICE_TABLE(of, max31785_of_match); + static struct i2c_driver max31785_driver = { .driver = { .name = "max31785", + .of_match_table = max31785_of_match, }, .probe = max31785_probe, .remove = pmbus_do_remove,
The driver doesn't have a struct of_device_id table but supported devices are registered via Device Trees. This is working on the assumption that a I2C device registered via OF will always match a legacy I2C device ID and that the MODALIAS reported will always be of the form i2c:<device>. But this could change in the future so the correct approach is to have an OF device ID table if the devices are registered via OF. Before this patch: $ modinfo drivers/hwmon/pmbus/max31785.ko | grep alias alias: i2c:max31785a alias: i2c:max31785 After this patch: $ modinfo drivers/hwmon/pmbus/max31785.ko | grep alias alias: i2c:max31785a alias: i2c:max31785 alias: of:N*T*Cmaxim,max31785aC* alias: of:N*T*Cmaxim,max31785a alias: of:N*T*Cmaxim,max31785C* alias: of:N*T*Cmaxim,max31785 Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> --- drivers/hwmon/pmbus/max31785.c | 9 +++++++++ 1 file changed, 9 insertions(+)