[PATCH v2 1/2] USB: dwc3-exynos: Add support for device tree

Benoit Cousson b-cousson at ti.com
Fri Oct 26 22:44:38 EST 2012


Hi Felipe,

On 10/26/2012 10:13 AM, Felipe Balbi wrote:
> Hi,
> 
> On Thu, Oct 25, 2012 at 11:37:33AM +0530, Vivek Gautam wrote:
>> Hi,
>>
>> On Tue, Oct 16, 2012 at 3:38 PM, Felipe Balbi <balbi at ti.com> wrote:
>>> Hi,
>>>
>>> On Tue, Oct 16, 2012 at 03:36:43PM +0530, kishon wrote:
>>>> Hi,
>>>>
>>>> On Tuesday 16 October 2012 03:23 PM, Felipe Balbi wrote:
>>>>> On Tue, Oct 16, 2012 at 02:15:56PM +0530, Vivek Gautam wrote:
>>>>>> This patch adds support to parse probe data for
>>>>>> dwc3-exynos driver using device tree.
>>>>>>
>>>>>> Signed-off-by: Vivek Gautam <gautam.vivek at samsung.com>
>>>>>> ---
>>>>>>  drivers/usb/dwc3/dwc3-exynos.c |   20 ++++++++++++++++++++
>>>>>>  1 files changed, 20 insertions(+), 0 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-exynos.c
>>>>>> index ca65978..d11ef49 100644
>>>>>> --- a/drivers/usb/dwc3/dwc3-exynos.c
>>>>>> +++ b/drivers/usb/dwc3/dwc3-exynos.c
>>>>>> @@ -21,6 +21,7 @@
>>>>>>  #include <linux/clk.h>
>>>>>>  #include <linux/usb/otg.h>
>>>>>>  #include <linux/usb/nop-usb-xceiv.h>
>>>>>> +#include <linux/of.h>
>>>>>>
>>>>>>  #include "core.h"
>>>>>>
>>>>>> @@ -87,6 +88,8 @@ err1:
>>>>>>    return ret;
>>>>>>  }
>>>>>>
>>>>>> +static u64 dwc3_exynos_dma_mask = DMA_BIT_MASK(32);
>>>>>> +
>>>>>>  static int __devinit dwc3_exynos_probe(struct platform_device *pdev)
>>>>>>  {
>>>>>>    struct dwc3_exynos_data *pdata = pdev->dev.platform_data;
>>>>>> @@ -103,6 +106,14 @@ static int __devinit dwc3_exynos_probe(struct platform_device *pdev)
>>>>>>            goto err0;
>>>>>>    }
>>>>>>
>>>>>> +   /*
>>>>>> +    * Right now device-tree probed devices don't get dma_mask set.
>>>>>> +    * Since shared usb code relies on it, set it here for now.
>>>>>> +    * Once we move to full device tree support this will vanish off.
>>>>>> +    */
>>>>>> +   if (!pdev->dev.dma_mask)
>>>>>> +           pdev->dev.dma_mask = &dwc3_exynos_dma_mask;
>>>>>
>>>>> says who ?
>>>>>
>>>>> $ git grep -e dma_mask drivers/of/
>>>>> drivers/of/platform.c:  dev->dev.dma_mask = &dev->archdata.dma_mask;
>>>>> drivers/of/platform.c:  dev->archdata.dma_mask = 0xffffffffUL;
>>>>> drivers/of/platform.c:  dev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
>>>>> drivers/of/platform.c:  dev->dev.coherent_dma_mask = ~0;
>>>>> drivers/of/platform.c:  dev->dma_mask = ~0;
>>>>>
>>>>> -ECONFUSED
>>>>
>>>> dma_mask is set under some ifdef except for "dev->dma_mask = ~0;".
>>>> However I agree with you for coherent_dma_mask case.
>>>
>>> indeed. Should we try to patch that instead ?
>>>
>>> Rob, should we set dma_mask at the driver or do you have a nicer way to
>>> handle it ??
>>>
>> Can i have suggestions here please ? :)
> 
> Benoit, can you answer here since nobody else does ?

Well, I wish I could, but honestly I don't have a clue :-(

Benoit




More information about the devicetree-discuss mailing list