On 4/8/20 5:35 AM, Rayagonda Kokatanur wrote:
[...]
> +struct brcm_xhci_platdata {
> +     unsigned int arcache;
> +     unsigned int awcache;
> +     uintptr_t hc_base;

This could be struct xhci_hccr * instead , and then you can remove the
cast ...

> +};
> +
> +static int xhci_brcm_probe(struct udevice *dev)
> +{
> +     struct brcm_xhci_platdata *plat = dev_get_platdata(dev);
> +     struct xhci_hcor *hcor;
> +     struct xhci_hccr *hcd;
> +     int len, ret = 0;
> +
> +     if (!plat) {
> +             dev_err(dev, "Can't get xHCI Plat data\n");
> +             return -ENOMEM;
> +     }
> +
> +     hcd = dev_read_addr_ptr(dev);
> +     if (!hcd) {
> +             dev_err(dev, "Can't get the xHCI register base address\n");
> +             return -ENXIO;
> +     }
> +
> +     plat->hc_base = (uintptr_t)hcd;

... here.

> +     len = HC_LENGTH(xhci_readl(&hcd->cr_capbase));
> +     hcor = (struct xhci_hcor *)(plat->hc_base + len);
[...]

Reply via email to