On Sun 26 Jul 23:16 PDT 2015, Archit Taneja wrote:
From: Lars-Peter Clausen lars@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