usb: gadget: gr_udc: Use of_property_read_u32_index to access arrays
authorAndreas Larsson <andreas@gaisler.com>
Thu, 27 Mar 2014 15:15:56 +0000 (16:15 +0100)
committerFelipe Balbi <balbi@ti.com>
Mon, 21 Apr 2014 19:07:27 +0000 (14:07 -0500)
Use an appropriate accessor function for property arrays to make the code nicer
and make the code correct if it would ever run on little endian architectures.
Suggested by Mark Rutland.

Signed-off-by: Andreas Larsson <andreas@gaisler.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/gr_udc.c

index 7a992546335da3f7e56bd13c1be83d84bba444fb..0f3a9531479a5a5623c732e89769010675a84b68 100644 (file)
@@ -2020,9 +2020,7 @@ static int gr_udc_init(struct gr_udc *dev)
        u32 dmactrl_val;
        int i;
        int ret = 0;
-       u32 *bufsizes;
        u32 bufsize;
-       int len;
 
        gr_set_address(dev, 0);
 
@@ -2033,19 +2031,17 @@ static int gr_udc_init(struct gr_udc *dev)
        INIT_LIST_HEAD(&dev->ep_list);
        gr_set_ep0state(dev, GR_EP0_DISCONNECT);
 
-       bufsizes = (u32 *)of_get_property(np, "epobufsizes", &len);
-       len /= sizeof(u32);
        for (i = 0; i < dev->nepo; i++) {
-               bufsize = (bufsizes && i < len) ? bufsizes[i] : 1024;
+               if (of_property_read_u32_index(np, "epobufsizes", i, &bufsize))
+                       bufsize = 1024;
                ret = gr_ep_init(dev, i, 0, bufsize);
                if (ret)
                        return ret;
        }
 
-       bufsizes = (u32 *)of_get_property(np, "epibufsizes", &len);
-       len /= sizeof(u32);
        for (i = 0; i < dev->nepi; i++) {
-               bufsize = (bufsizes && i < len) ? bufsizes[i] : 1024;
+               if (of_property_read_u32_index(np, "epibufsizes", i, &bufsize))
+                       bufsize = 1024;
                ret = gr_ep_init(dev, i, 1, bufsize);
                if (ret)
                        return ret;