Я пишу многофункциональный драйвер (mfd) для устройства P CIe с возможностями DMA. Несколько ячеек добавляются через mfd_add_devices
.
Я обнаружил, что struct device*
драйвера mfd верхнего уровня имеет правильный struct dma_ops
набор для распределения буферов, управления передачами DMA и т. Д. c. Однако драйверы дочерней платформы получают еще одну struct dma_ops
, заполненную фиктивными реализациями.
Как организовать, чтобы драйверы дочерней платформы получали / наследовали правильный набор операций DMA от своего родителя?