[U-Boot] [PATCH v2 4/7] usb: dwc2-otg: make regs_otg (in platdata) a uintptr_t

Simon Glass sjg at chromium.org
Tue Jun 6 21:09:40 UTC 2017


Hi Philipp,

On 6 June 2017 at 07:42, Philipp Tomsich
<philipp.tomsich at theobroma-systems.com> wrote:
> The regs_otg field in uintptr_t of the platform data structure for
> dwc2-otg has thus far been an unsigned int, but will eventually be
> casted into a void*.
>
> This raises the following error with GCC 6.3 and buildman:
>   ../drivers/usb/gadget/dwc2_udc_otg.c: In function 'dwc2_udc_probe':
>   ../drivers/usb/gadget/dwc2_udc_otg.c:821:8: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>     reg = (struct dwc2_usbotg_reg *)pdata->regs_otg;
>           ^
>
> This changes regs_otg to a uintptr_t to ensure that it is large enough
> to hold any valid pointer (and fix the associated warning).
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>
> ---
>
> Changes in v2:
> - (new patch) fix a int-to-pointer cast warning for regs_otg in
>   dwc2-otg to fix a buildman failure for u-boot-rockchip/master at 2b19b2f
>
>  include/usb/dwc2_udc.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/usb/dwc2_udc.h b/include/usb/dwc2_udc.h
> index 7324d8a..1a370e0 100644
> --- a/include/usb/dwc2_udc.h
> +++ b/include/usb/dwc2_udc.h
> @@ -16,7 +16,7 @@ struct dwc2_plat_otg_data {
>         int             phy_of_node;
>         int             (*phy_control)(int on);
>         unsigned int    regs_phy;
> -       unsigned int    regs_otg;
> +       uintptr_t       regs_otg;

Can you use ulong instead?

>         unsigned int    usb_phy_ctrl;
>         unsigned int    usb_flags;
>         unsigned int    usb_gusbcfg;
> --
> 2.1.4
>

Regards,
Simon


More information about the U-Boot mailing list