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   |

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to