usb: dwc2-otg: make regs_otg (in platdata) a uintptr_t
authorPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tue, 6 Jun 2017 13:42:29 +0000 (15:42 +0200)
committerSimon Glass <sjg@chromium.org>
Thu, 8 Jun 2017 03:30:48 +0000 (21:30 -0600)
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@theobroma-systems.com>
include/usb/dwc2_udc.h

index 7324d8a62db49b5f0f62bbcec3be4bcbe1564d03..1a370e0e86b5abf6addd39596e181f1f8a976db5 100644 (file)
@@ -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;
        unsigned int    usb_phy_ctrl;
        unsigned int    usb_flags;
        unsigned int    usb_gusbcfg;