[U-Boot] [PATCH] musb: sunxi: Use base address from device tree

Chen-Yu Tsai wens at csie.org
Tue Dec 19 16:04:56 UTC 2017


On Tue, Dec 12, 2017 at 11:56 PM, Marek Vasut <marex at denx.de> wrote:
> On 12/12/2017 08:24 AM, Chen-Yu Tsai wrote:
>> Now that the musb sunxi glue driver is completely device model / device
>> tree driven, we should use the base address from the device tree,
>> instead of hard-coding it in the source code.
>>
>> Fixes: 3a61b080acee ("musb: sunxi: switch to the device model")
>> Signed-off-by: Chen-Yu Tsai <wens at csie.org>
>> ---
>>  drivers/usb/musb-new/sunxi.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
>> index 7ee44ea91900..ae6a54118cd1 100644
>> --- a/drivers/usb/musb-new/sunxi.c
>> +++ b/drivers/usb/musb-new/sunxi.c
>> @@ -318,7 +318,7 @@ static int musb_usb_probe(struct udevice *dev)
>>
>>  #ifdef CONFIG_USB_MUSB_HOST
>>       host->host = musb_init_controller(&musb_plat, NULL,
>> -                                       (void *)SUNXI_USB0_BASE);
>> +                                      dev_read_addr_ptr(dev));
>
> What happens if dev_read_addr_ptr() returns some non-standard value?

You mean like an error value? That would likely be a signal that
the device tree is broken, like a missing property or invalid value,
or a corrupt device tree. In all cases I think blowing up should be
an expected result for a device tree driven driver?

ChenYu

>
>>       if (!host->host)
>>               return -EIO;
>>
>> @@ -326,7 +326,7 @@ static int musb_usb_probe(struct udevice *dev)
>>       if (!ret)
>>               printf("Allwinner mUSB OTG (Host)\n");
>>  #else
>> -     ret = musb_register(&musb_plat, NULL, (void *)SUNXI_USB0_BASE);
>> +     ret = musb_register(&musb_plat, NULL, dev_read_addr_ptr(dev));
>>       if (!ret)
>>               printf("Allwinner mUSB OTG (Peripheral)\n");
>>  #endif
>>
>
>
> --
> Best regards,
> Marek Vasut


More information about the U-Boot mailing list