Я пытаюсь загрузить образец драйвера дерева устройств, но функция проверки никогда не вызывается.
Запись в файле dts выглядит так
dummy1 {
compatible = "ti,dummy";
reg = <0x9f200000 0x1000>,
<0x9f201000 0x8>;
};
И соответствующий код драйвера:
#define DRV_NAME "dummy"
static const struct of_device_id dummy_of_match[] = {
{
.compatible = "ti,dummy",
}, {
},
};
static struct platform_driver dummy_driver = {
.driver = {
.name = DRV_NAME,
.of_match_table = dummy_of_match,
},
.probe = dummy_probe,
.remove = dummy_remove,
};
MODULE_DEVICE_TABLE(of, dummy_of_match);
module_platform_driver(dummy_driver);
Я перекомпилировал файл dtb (dtdiff показывает, что он содержит мое устройство) и скопировал его в целевой объект, но ничего не происходит, когда я изменяю драйвер. Я тоже не могу найти его в / sys / firmware / devicetree /
devicetree/
, мы можем предположить, что это как-то связано с тем, что ядро не анализирует его. вы можете попробовать несколько вещей. 1. Явно укажитеstatus=okay
. 2. Если этот узел определен как дочерний узел какого-либо другого узла, проверьте, отключен ли этот узел или около того (поместите его под узлом soc, если он уже не отключен). - person yashC   schedule 09.08.2018