On 07/18/2012 03:39 PM, Richard Zhao wrote:
> [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.Why not call a single imx_usbmisc_init. The usbmisc can call the correct function inside. The right init function can be selected via the compatible in the device tree. Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
signature.asc
Description: OpenPGP digital signature
