杂项设备misc,open时从struct file * 获取 struct miscdevice
static int m_log_open(struct inode *inode, struct file *filp)
{
struct m_log_device *m_log_dev;
m_log_dev = container_of(filp->private_data, struct m_log_device, misc_dev);
printk("open\n");
return 0;
}
filp->private_data 就是 miscdevice 的地址,struct m_log_device是驱动开发者自己搞的结构体。