[U-Boot] [PATCH 2/8] dm: usb: Use controller_dev in dm ehci code

Simon Glass sjg at chromium.org
Fri May 1 06:11:54 CEST 2015


Hi Hans,

On 30 April 2015 at 08:35, Hans de Goede <hdegoede at redhat.com> wrote:
> Use the controller_dev pointer in the ehci hcd code rather then going up
> the tree till we find the first UCLASS_USB device.
>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
>  drivers/usb/host/ehci-hcd.c | 9 +--------
>  1 file changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
> index bd9861d..19f1e29 100644
> --- a/drivers/usb/host/ehci-hcd.c
> +++ b/drivers/usb/host/ehci-hcd.c
> @@ -125,14 +125,7 @@ static struct descriptor {
>  static struct ehci_ctrl *ehci_get_ctrl(struct usb_device *udev)
>  {
>  #ifdef CONFIG_DM_USB
> -       struct udevice *dev;
> -
> -       /* Find the USB controller */
> -       for (dev = udev->dev;
> -            device_get_uclass_id(dev) != UCLASS_USB;
> -            dev = dev->parent)
> -               ;
> -       return dev_get_priv(dev);
> +       return dev_get_priv(udev->controller_dev);
>  #else
>         return udev->controller;
>  #endif

My intent was to remove udev->controller_dev, since I was hoping to
remove all pointers other than those maintained by driver model. Does
this patch actually fix a bug?

Regards,
Simon


More information about the U-Boot mailing list