On 8 March 2013 18:52, Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> wrote: > On 03/08/2013 05:46 PM, Alexander Shishkin wrote: >> On 8 March 2013 18:33, Felipe Balbi <balbi@xxxxxx> wrote: >>> Hi, >>> >>> On Thu, Feb 28, 2013 at 11:57:02AM +0100, Marc Kleine-Budde wrote: >>>> @@ -487,14 +488,23 @@ static int ci_hdrc_probe(struct platform_device *pdev) >>>> return -ENODEV; >>>> } >>>> >>>> + /* For now we treat dual-role as otg */ Btw, if we do this, Peter's otg code will try to access OTGSC, which is not what we want on non-otg devices, so we'll need a clear distinction between the two. >>>> + dr_mode = ci->platdata->dr_mode; >>>> + if (dr_mode == USB_DR_MODE_UNKNOWN || dr_mode == USB_DR_MODE_DUAL_ROLE) >>>> + dr_mode = USB_DR_MODE_OTG; >>>> + >>>> /* initialize role(s) before the interrupt is requested */ >>>> - ret = ci_hdrc_host_init(ci); >>>> - if (ret) >>>> - dev_info(dev, "doesn't support host\n"); >>>> + if (dr_mode == USB_DR_MODE_OTG || dr_mode == USB_DR_MODE_HOST) { >>> >>> this is not something you should be passing via pdata; chipidea core >>> should know how to read this data by itself. Meaning that chipidea core >>> should be taught about devicetree. But make it optional since now all >>> users use DT. >> >> And I don't think I like the idea of chipidea core calling into device >> tree code directly. > > Hmmm....this means draw :) Well, we could go for something like ci_hdrc-$(CONFIG_OF) += of.o and try to contain the damage there, maybe? Ideas? I would very much like to keep the clutter away from the core probe if possible. -- 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