[PATCH v2 1/2] USB: chipidea: add imx usbmisc support

Richard Zhao linuxzsc at gmail.com
Wed Jul 18 09:49:34 EDT 2012


On Wed, Jul 18, 2012 at 03:43:00PM +0200, Marc Kleine-Budde wrote:
> 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.
Different SoC has different usbmisc driver and I have to register the
driver. A single imx_usbmisc_init shows nothing different. It doesn't
know what driver to register. Hope I got what you meant.

Thanks
Richard
> 
> 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   |
> 





More information about the linux-arm-kernel mailing list