У меня возникла проблема, когда я использую of_match_table для сопоставления узла дерева устройств.
Информация узла дерева устройства (лазерное радио) подобна этой
Код: Выделить всё
/{
i2c@7000c000{
laser-radio@29{
compatible = "lyz,vl53l0x";
reg = ;
};
};
};
Код: Выделить всё
static const struct of_device_id vl53l0x_dt_match[] = {
{.compatible = "lyz,vl53l0x", },
{ }
};
MODULE_DEVICE_TABLE(of, vl53l0x_dt_match);
struct i2c_driver vl53l0x_driver = {
.driver =
{
.name = "vl53l0x",
.owner = THIS_MODULE,
.of_match_table = vl53l0x_dt_match,
},
.probe = vl53l0x_probe,
.remove = vl53l0x_remove,
};
Код: Выделить всё
static const struct i2c_device_id vl53l0x_id[] = {{"vl53l0x", 0}, {}};
MODULE_DEVICE_TABLE(i2c, vl53l0x_id);
static const struct of_device_id vl53l0x_dt_match[] = {
{.compatible = "lyz,vl53l0x", },
{ }
};
MODULE_DEVICE_TABLE(of, vl53l0x_dt_match);
struct i2c_driver vl53l0x_driver = {
.driver =
{
.name = "vl53l0x",
.owner = THIS_MODULE,
.of_match_table = vl53l0x_dt_match,
},
.probe = vl53l0x_probe,
.remove = vl53l0x_remove,
.id_table = vl53l0x_id,
};
how to use of_match_table to match a node?did i do something wrong?
Источник: https://stackoverflow.com/questions/781 ... le-can-why
Мобильная версия