[U-Boot] [PATCH v5 1/2] usb: zynqmp: Add XHCI driver support
Marek Vasut
marex at denx.de
Mon Nov 16 10:26:01 CET 2015
On Monday, November 16, 2015 at 08:23:24 AM, Siva Durga Prasad Paladugu wrote:
> Hi Marek,
Hi,
[...]
> > > + ctx->hcd = (struct xhci_hccr *)ctr_addr[index];
> > > + ctx->dwc3_reg = (struct dwc3 *)((char *)(ctx->hcd) +
> > > +DWC3_REG_OFFSET);
> >
> > Should be void *, not char * I think. Also, the parenthesis around
> > ctx->hcd are not needed.
>
> I think keeping char* would be good for easy understanding and readability.
Using bogus casts is never good for anything.
> > > + ret = board_usb_init(index, USB_INIT_HOST);
> > > + if (ret != 0) {
> > > + puts("Failed to initialize board for USB\n");
> > > + return ret;
> > > + }
> > > +
> > > + ret = zynqmp_xhci_core_init(ctx);
> > > + if (ret < 0) {
> > > + puts("Failed to initialize xhci\n");
> > > + return ret;
> > > + }
> > > +
> > > + *hccr = (struct xhci_hccr *)ctx->hcd;
> > > + *hcor = (struct xhci_hcor *)((uint32_t) *hccr
> > > + + HC_LENGTH(xhci_readl(&(*hccr)-
> > >
> > >cr_capbase)));
> >
> > You want to use uintptr_t for the same of 64bit parts.
>
> Ok
>
> > > + debug("zynqmp-xhci: init hccr %x and hcor %x hc_length %d\n",
> > > + (uint32_t)*hccr, (uint32_t)*hcor,
> > > + (uint32_t)HC_LENGTH(xhci_readl(&(*hccr)->cr_capbase)));
> >
> > We have %p for printing pointers, so drop the casts.
> >
> > Also, since you're using HC_LENGTH() here twice, you might as well put
> > it's value into temporary variable and use it in both places, it might
> > make the code slightly more readable.
>
> Ok, will take care in next version
Thanks!
Best regards,
Marek Vasut
More information about the U-Boot
mailing list