[PATCH 2/5] drm/i2c: adv7511: Initial support for adv7533
Bjorn Andersson
bjorn.andersson at sonymobile.com
Mon Jul 27 20:27:37 PDT 2015
On Sun 26 Jul 23:16 PDT 2015, Archit Taneja wrote:
> From: Lars-Peter Clausen <lars at metafoo.de>
>
[..]
> diff --git a/drivers/gpu/drm/i2c/adv7511.c b/drivers/gpu/drm/i2c/adv7511.c
[..]
>
> +static const struct of_device_id adv7511_of_ids[] = {
> + { .compatible = "adi,adv7511", .data = (void *) ADV7511 },
> + { .compatible = "adi,adv7511w", .data = (void *) ADV7511 },
> + { .compatible = "adi,adv7513", .data = (void *) ADV7511 },
> + { .compatible = "adi,adv7533", .data = (void *) ADV7533 },
> + { }
> +};
> +MODULE_DEVICE_TABLE(of, adv7511_of_ids);
Please leave this at the bottom.
> +
> static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
> {
> struct adv7511_link_config link_config;
> @@ -871,9 +938,22 @@ static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
> adv7511->powered = false;
> adv7511->status = connector_status_disconnected;
>
> - ret = adv7511_parse_dt(dev->of_node, &link_config);
> - if (ret)
> - return ret;
> + if (dev->of_node) {
> + const struct of_device_id *of_id;
> +
> + of_id = of_match_node(adv7511_of_ids, dev->of_node);
If you use of_device_get_match_data() instead you don't need to move the
of_device_id table.
> + adv7511->type = (enum adv7511_type) of_id->data;
> + } else {
> + adv7511->type = id->driver_data;
> + }
> +
[..]
>
> static const struct i2c_device_id adv7511_i2c_ids[] = {
> - { "adv7511", 0 },
> - { "adv7511w", 0 },
> - { "adv7513", 0 },
> + { "adv7511", ADV7511 },
> + { "adv7511w", ADV7511 },
> + { "adv7513", ADV7511 },
> + { "adv7533", ADV7533 },
> { }
> };
> MODULE_DEVICE_TABLE(i2c, adv7511_i2c_ids);
>
> -static const struct of_device_id adv7511_of_ids[] = {
> - { .compatible = "adi,adv7511", },
> - { .compatible = "adi,adv7511w", },
> - { .compatible = "adi,adv7513", },
> - { }
> -};
> -MODULE_DEVICE_TABLE(of, adv7511_of_ids);
> -
Regards,
Bjorn
More information about the dri-devel
mailing list