[U-Boot] [PATCH] ci_udc: fix 64-bit compile warnings

Marek Vasut marex at denx.de
Thu Jul 23 09:03:29 CEST 2015


On Thursday, July 23, 2015 at 09:00:53 AM, Lukasz Majewski wrote:
> Hi Marek,
> 
> > From: Stephen Warren <swarren at nvidia.com>
> > 
> > This is the same as f72d8320b605 "usb: ci_udc: fix warnings on 64-bit
> > builds", but more.
> > 
> > Signed-off-by: Stephen Warren <swarren at nvidia.com>
> > ---
> > 
> >  drivers/usb/gadget/ci_udc.c | 19 ++++++++++---------
> >  1 file changed, 10 insertions(+), 9 deletions(-)
> > 
> > diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c
> > index aadff42a9cdc..993be315a8cf 100644
> > --- a/drivers/usb/gadget/ci_udc.c
> > +++ b/drivers/usb/gadget/ci_udc.c
> > @@ -221,8 +221,8 @@ static void ci_flush_qtd(int ep_num)
> > 
> >   */
> >  
> >  static void ci_flush_td(struct ept_queue_item *td)
> >  {
> > 
> > -	const uint32_t  start = (uint32_t)td;
> > -	const uint32_t end = (uint32_t) td + ILIST_ENT_SZ;
> > +	const unsigned long start = (unsigned long)td;
> > +	const unsigned long end = (unsigned long)td + ILIST_ENT_SZ;
> > 
> >  	flush_dcache_range(start, end);
> >  
> >  }
> > 
> > @@ -249,8 +249,8 @@ static void ci_invalidate_qtd(int ep_num)
> > 
> >   */
> >  
> >  static void ci_invalidate_td(struct ept_queue_item *td)
> >  {
> > 
> > -	const uint32_t start = (uint32_t)td;
> > -	const uint32_t end = start + ILIST_ENT_SZ;
> > +	const unsigned long start = (unsigned long)td;
> > +	const unsigned long end = start + ILIST_ENT_SZ;
> > 
> >  	invalidate_dcache_range(start, end);
> >  
> >  }
> > 
> > @@ -459,7 +459,7 @@ static void ci_ep_submit_next_request(struct
> > ci_ep *ci_ep) if (len) {
> > 
> >  			qtd = (struct ept_queue_item *)
> >  			
> >  			       memalign(ILIST_ALIGN, ILIST_ENT_SZ);
> > 
> > -			dtd->next = (uint32_t)qtd;
> > +			dtd->next = (unsigned long)qtd;
> > 
> >  			dtd = qtd;
> >  			memset(dtd, 0, ILIST_ENT_SZ);
> >  		
> >  		}
> > 
> > @@ -503,10 +503,10 @@ static void ci_ep_submit_next_request(struct
> > ci_ep *ci_ep)
> > 
> >  	ci_flush_qtd(num);
> > 
> > -	item = (struct ept_queue_item *)head->next;
> > +	item = (struct ept_queue_item *)(unsigned long)head->next;
> > 
> >  	while (item->next != TERMINATE) {
> > 
> > -		ci_flush_td((struct ept_queue_item *)item->next);
> > -		item = (struct ept_queue_item *)item->next;
> > +		ci_flush_td((struct ept_queue_item *)(unsigned
> > long)item->next);
> > +		item = (struct ept_queue_item *)(unsigned
> > long)item->next; }
> > 
> >  	DBG("ept%d %s queue len %x, req %p, buffer %p\n",
> > 
> > @@ -594,7 +594,8 @@ static void handle_ep_complete(struct ci_ep
> > *ci_ep) printf("EP%d/%s FAIL info=%x pg0=%x\n",
> > 
> >  			       num, in ? "in" : "out", item->info,
> > 
> > item->page0); if (j != ci_req->dtd_count - 1)
> > -			next_td = (struct ept_queue_item
> > *)item->next;
> > +			next_td = (struct ept_queue_item *)(unsigned
> > long)
> > +				item->next;
> > 
> >  		if (j != 0)
> >  		
> >  			free(item);
> >  	
> >  	}
> 
> Should I take the patch to -dfu tree?

I picked it for -usb . I will wait until the weekend, then build and send a PR
to Tom.


More information about the U-Boot mailing list