[snip] > > > static struct ci13xxx_platform_data ci13xxx_imx_platdata __devinitdata = { > > > .name = "ci13xxx_imx", > > > .flags = CI13XXX_REQUIRE_TRANSCEIVER | > > > @@ -120,6 +140,9 @@ static int __devinit ci13xxx_imx_probe(struct platform_device *pdev) > > > *pdev->dev.dma_mask = DMA_BIT_MASK(32); > > > dma_set_coherent_mask(&pdev->dev, *pdev->dev.dma_mask); > > > } > > > + > > > + usbmisc_ops->init(&pdev->dev); > > > > usbmisc_ops can be NULL and also can return an error. > Yes. And I find it can not work when usbmisc is module. It's hard to resolve module dependency. How about build all imx related things into a single module? ci13xxx_imx module init will call usbmisc_imx6q_drv_init, usbmisc_imx53_drv_init etc. Thanks Richard -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html