diff mbox

[v4,6/7] usb: dwc3-omap: Minor fixes to get dt working

Message ID 1350307680-24938-7-git-send-email-kishon@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kishon Vijay Abraham I Oct. 15, 2012, 1:27 p.m. UTC
Includes few minor fixes in dwc3-omap like populating the compatible
string in a correct way, extracting the utmi-mode property properly and
changing the index of get_irq since irq of core is removed from hwmod
entry.
Also updated the documentation with dwc3-omap device tree binding
information.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
 drivers/usb/dwc3/dwc3-omap.c |   14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

Comments

Benoit Cousson Oct. 25, 2012, 1:41 p.m. UTC | #1
Hi Kishon,

On 10/15/2012 03:27 PM, Kishon Vijay Abraham I wrote:
> Includes few minor fixes in dwc3-omap like populating the compatible
> string in a correct way, extracting the utmi-mode property properly and
> changing the index of get_irq since irq of core is removed from hwmod
> entry.
> Also updated the documentation with dwc3-omap device tree binding
> information.
> 
> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
> ---
>  drivers/usb/dwc3/dwc3-omap.c |   14 ++++++--------
>  1 file changed, 6 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
> index b84ddf3..10aad46 100644
> --- a/drivers/usb/dwc3/dwc3-omap.c
> +++ b/drivers/usb/dwc3/dwc3-omap.c
> @@ -318,11 +318,10 @@ static int __devinit dwc3_omap_probe(struct platform_device *pdev)
>  	struct resource		*res;
>  	struct device		*dev = &pdev->dev;
>  
> -	int			size;
>  	int			ret = -ENOMEM;
>  	int			irq;
>  
> -	const u32		*utmi_mode;
> +	u32			utmi_mode;
>  	u32			reg;
>  
>  	void __iomem		*base;
> @@ -336,13 +335,13 @@ static int __devinit dwc3_omap_probe(struct platform_device *pdev)
>  
>  	platform_set_drvdata(pdev, omap);
>  
> -	irq = platform_get_irq(pdev, 1);
> +	irq = platform_get_irq(pdev, 0);

Cannot you use the name of the resource to avoid that kind of trick?
This is for that reason that we added the resource name in DTS :-)

>  	if (irq < 0) {
>  		dev_err(dev, "missing IRQ resource\n");
>  		return -EINVAL;
>  	}
>  
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);

Same here.

Regards,
Benoit

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kishon Vijay Abraham I Oct. 25, 2012, 2:54 p.m. UTC | #2
Hi Benoit,

On Thursday 25 October 2012 07:11 PM, Benoit Cousson wrote:
> Hi Kishon,
>
> On 10/15/2012 03:27 PM, Kishon Vijay Abraham I wrote:
>> Includes few minor fixes in dwc3-omap like populating the compatible
>> string in a correct way, extracting the utmi-mode property properly and
>> changing the index of get_irq since irq of core is removed from hwmod
>> entry.
>> Also updated the documentation with dwc3-omap device tree binding
>> information.
>>
>> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
>> ---
>>   drivers/usb/dwc3/dwc3-omap.c |   14 ++++++--------
>>   1 file changed, 6 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
>> index b84ddf3..10aad46 100644
>> --- a/drivers/usb/dwc3/dwc3-omap.c
>> +++ b/drivers/usb/dwc3/dwc3-omap.c
>> @@ -318,11 +318,10 @@ static int __devinit dwc3_omap_probe(struct platform_device *pdev)
>>   	struct resource		*res;
>>   	struct device		*dev = &pdev->dev;
>>
>> -	int			size;
>>   	int			ret = -ENOMEM;
>>   	int			irq;
>>
>> -	const u32		*utmi_mode;
>> +	u32			utmi_mode;
>>   	u32			reg;
>>
>>   	void __iomem		*base;
>> @@ -336,13 +335,13 @@ static int __devinit dwc3_omap_probe(struct platform_device *pdev)
>>
>>   	platform_set_drvdata(pdev, omap);
>>
>> -	irq = platform_get_irq(pdev, 1);
>> +	irq = platform_get_irq(pdev, 0);
>
> Cannot you use the name of the resource to avoid that kind of trick?

*name* is mostly used when we have multiple resource of the same type 
for a single device. Previously we were clubbing wrapper resources and 
core resources in a single hwmod device, so we had to use different 
indexing.
But with dt we have separated those under two different devices and 
hence we can always use index as '0'. But if you think we should have 
*name*, let me know, I can resend this patch :-)

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Felipe Balbi Nov. 6, 2012, 11:40 a.m. UTC | #3
Hi,

On Thu, Oct 25, 2012 at 08:24:09PM +0530, kishon wrote:
> Hi Benoit,
> 
> On Thursday 25 October 2012 07:11 PM, Benoit Cousson wrote:
> >Hi Kishon,
> >
> >On 10/15/2012 03:27 PM, Kishon Vijay Abraham I wrote:
> >>Includes few minor fixes in dwc3-omap like populating the compatible
> >>string in a correct way, extracting the utmi-mode property properly and
> >>changing the index of get_irq since irq of core is removed from hwmod
> >>entry.
> >>Also updated the documentation with dwc3-omap device tree binding
> >>information.
> >>
> >>Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
> >>---
> >>  drivers/usb/dwc3/dwc3-omap.c |   14 ++++++--------
> >>  1 file changed, 6 insertions(+), 8 deletions(-)
> >>
> >>diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
> >>index b84ddf3..10aad46 100644
> >>--- a/drivers/usb/dwc3/dwc3-omap.c
> >>+++ b/drivers/usb/dwc3/dwc3-omap.c
> >>@@ -318,11 +318,10 @@ static int __devinit dwc3_omap_probe(struct platform_device *pdev)
> >>  	struct resource		*res;
> >>  	struct device		*dev = &pdev->dev;
> >>
> >>-	int			size;
> >>  	int			ret = -ENOMEM;
> >>  	int			irq;
> >>
> >>-	const u32		*utmi_mode;
> >>+	u32			utmi_mode;
> >>  	u32			reg;
> >>
> >>  	void __iomem		*base;
> >>@@ -336,13 +335,13 @@ static int __devinit dwc3_omap_probe(struct platform_device *pdev)
> >>
> >>  	platform_set_drvdata(pdev, omap);
> >>
> >>-	irq = platform_get_irq(pdev, 1);
> >>+	irq = platform_get_irq(pdev, 0);
> >
> >Cannot you use the name of the resource to avoid that kind of trick?
> 
> *name* is mostly used when we have multiple resource of the same type
> for a single device. Previously we were clubbing wrapper resources
> and core resources in a single hwmod device, so we had to use
> different indexing.
> But with dt we have separated those under two different devices and
> hence we can always use index as '0'. But if you think we should have
> *name*, let me know, I can resend this patch :-)

since there were no more replies here, i'm assuming Benoit's happy with
Kishon's explanation. Will apply this series as is.
diff mbox

Patch

diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
index b84ddf3..10aad46 100644
--- a/drivers/usb/dwc3/dwc3-omap.c
+++ b/drivers/usb/dwc3/dwc3-omap.c
@@ -318,11 +318,10 @@  static int __devinit dwc3_omap_probe(struct platform_device *pdev)
 	struct resource		*res;
 	struct device		*dev = &pdev->dev;
 
-	int			size;
 	int			ret = -ENOMEM;
 	int			irq;
 
-	const u32		*utmi_mode;
+	u32			utmi_mode;
 	u32			reg;
 
 	void __iomem		*base;
@@ -336,13 +335,13 @@  static int __devinit dwc3_omap_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, omap);
 
-	irq = platform_get_irq(pdev, 1);
+	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
 		dev_err(dev, "missing IRQ resource\n");
 		return -EINVAL;
 	}
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (!res) {
 		dev_err(dev, "missing memory base resource\n");
 		return -EINVAL;
@@ -389,9 +388,8 @@  static int __devinit dwc3_omap_probe(struct platform_device *pdev)
 
 	reg = dwc3_omap_readl(omap->base, USBOTGSS_UTMI_OTG_STATUS);
 
-	utmi_mode = of_get_property(node, "utmi-mode", &size);
-	if (utmi_mode && size == sizeof(*utmi_mode)) {
-		reg |= *utmi_mode;
+	if (!of_property_read_u32(node, "utmi-mode", &utmi_mode)) {
+		reg |= utmi_mode;
 	} else {
 		if (!pdata) {
 			dev_dbg(dev, "missing platform data\n");
@@ -469,7 +467,7 @@  static int __devexit dwc3_omap_remove(struct platform_device *pdev)
 
 static const struct of_device_id of_dwc3_matach[] = {
 	{
-		"ti,dwc3",
+		.compatible =	"ti,dwc3"
 	},
 	{ },
 };