static int __init fsl_otg_probe(struct platform_device *pdev) { int status; struct fsl_usb2_platform_data *pdata; DBG("pdev=0x%p\n", pdev); if (!pdev) return -ENODEV; /*判断是否有设备自己的数据,就是检查我们上面定义的3的过程*/ if (!pdev->dev.platform_data) return -ENOMEM; pdata = pdev->dev.platform_data; /* configure the OTG */ status = fsl_otg_conf(pdev); if (status) { printk(KERN_INFO "Couldn't init OTG module\n"); return -status; } /* start OTG */ status = usb_otg_start(pdev); if (register_chrdev(FSL_OTG_MAJOR, FSL_OTG_NAME, &otg_fops)) { printk(KERN_WARNING FSL_OTG_NAME ": unable to register FSL OTG device\n"); return -EIO; } create_proc_file(); return status; } |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |