On Tue, 04 Apr 2017, 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 a
> OF device ID table if the devices are registered via OF.
> 
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> 
> ---
> 
> 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(+)

For my own reference:
  Acked-for-MFD-by: Lee Jones <[email protected]>
  
> 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,

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

Reply via email to