[PATCH 3/5] USB chipidea: introduce dual role mode pdata flags
Alexander Shishkin
alexander.shishkin at linux.intel.com
Fri Mar 8 15:55:46 EST 2013
On 8 March 2013 18:52, Marc Kleine-Budde <mkl at pengutronix.de> wrote:
> On 03/08/2013 05:46 PM, Alexander Shishkin wrote:
>> On 8 March 2013 18:33, Felipe Balbi <balbi at ti.com> 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.
More information about the linux-arm-kernel
mailing list