В драйвере шины объявлена структура:
struct chld_device {
int state;
int base_addr;
unsigned long length;
struct resource res[32];
u64 dma_mask;
struct device dev;
struct cdev cdev;
};
При инициализации шины,происходит инициализация дочерних устройств,с заполнением base_addr, res, dev, cdev.
В дальнейшем подгружаю драйвер устройства в котором запускается .open. В нем уже исполняю:
int dev_open(struct inode *inode, struct file *filp){
struct chld_device *icd = container_of(inode->i_cdev, struct chld_device,cdev);
filp->private_data = icd;
}
Подскажите в какую сторону копать дальше.