[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