Re: [PATCH 2/2] mfd: tps6105x: Add OF device ID table

From: Lee Jones
Date: Wed Mar 15 2017 - 06:35:32 EST


On Tue, 21 Feb 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.
>
> The compatible strings don't have a vendor prefix because that's how it's
> used currently, and changing this will be a Device Tree ABI break.
>
> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx>
> ---
>
> drivers/mfd/tps6105x.c | 8 ++++++++
> 1 file changed, 8 insertions(+)

Likewise.

> diff --git a/drivers/mfd/tps6105x.c b/drivers/mfd/tps6105x.c
> index baa12ea666fb..29f86b8eebc5 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 = "tps61050" },
> + { .compatible = "tps61052" },
> + { },
> +};
> +MODULE_DEVICE_TABLE(of, tps6105x_of_match);
> +
> static struct i2c_driver tps6105x_driver = {
> .driver = {
> .name = "tps6105x",
> + .of_match_table = of_match_ptr(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