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 a OF device ID table if the devices are registered via OF. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> --- Changes in v6: None Changes in v5: - Add Rob Herring's Acked-by tag. - Add Acked-by: Tony Lindgren <tony@xxxxxxxxxxx>'s Acked-by tag. - Add Lee Jones <lee.jones@xxxxxxxxxx>'s Acked-by tag. Changes in v4: None Changes in v3: - Add a vendor prefix to the compatible string (Rob Herring). Changes in v2: - Don't use of_match_ptr() to avoid build warning when CONFIG_OF is disabled. drivers/mfd/tps6105x.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/mfd/tps6105x.c b/drivers/mfd/tps6105x.c index baa12ea666fb..187848c93779 100644 --- a/drivers/mfd/tps6105x.c +++ b/drivers/mfd/tps6105x.c @@ -173,9 +173,17 @@ static const struct i2c_device_id tps6105x_id[] = { }; MODULE_DEVICE_TABLE(i2c, tps6105x_id); +static const struct of_device_id tps6105x_of_match[] = { + { .compatible = "ti,tps61050" }, + { .compatible = "ti,tps61052" }, + { }, +}; +MODULE_DEVICE_TABLE(of, tps6105x_of_match); + static struct i2c_driver tps6105x_driver = { .driver = { .name = "tps6105x", + .of_match_table = tps6105x_of_match, }, .probe = tps6105x_probe, .remove = tps6105x_remove, -- 2.9.3 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html