diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c index e8a495fde5..233df57b4d 100644 --- a/drivers/usb/host/ohci-da8xx.c +++ b/drivers/usb/host/ohci-da8xx.c @@ -93,6 +93,10 @@ static int ohci_da8xx_probe(struct udevice *dev) err = 0; priv->clock_count = 0; clock_nb = dev_count_phandle_with_args(dev, "clocks", "#clock-cells"); + + if (clock_nb < 0) + return clock_nb; + if (clock_nb > 0) { priv->clocks = devm_kcalloc(dev, clock_nb, sizeof(struct clk), GFP_KERNEL); @@ -112,9 +116,6 @@ static int ohci_da8xx_probe(struct udevice *dev) } priv->clock_count++; } - } else if (clock_nb != -ENOENT) { - dev_err(dev, "failed to get clock phandle(%d)\n", clock_nb); - return clock_nb; } err = usb_cpu_init(); @@ -170,6 +171,6 @@ U_BOOT_DRIVER(ohci_generic) = { .remove = ohci_da8xx_remove, .ops = &ohci_usb_ops, .priv_auto_alloc_size = sizeof(struct da8xx_ohci), - .flags = DM_FLAG_ALLOC_PRIV_DMA, + .flags = DM_FLAG_ALLOC_PRIV_DMA | DM_FLAG_OS_PREPARE, }; #endif