I stumbled over this warning last week, which showed up after I had
removed an incorrect patch from my randconfig build setup:

drivers/usb/phy/phy-msm-usb.c: In function 'msm_otg_probe':
drivers/usb/phy/phy-msm-usb.c:1735:14: error: 'regs[0].consumer' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
  motg->vddcx = regs[0].consumer;
  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
drivers/usb/phy/phy-msm-usb.c:1736:14: error: 'regs[1].consumer' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
  motg->v3p3  = regs[1].consumer;
  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
drivers/usb/phy/phy-msm-usb.c:1737:14: error: 'regs[2].consumer' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
  motg->v1p8  = regs[2].consumer;
  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~

Having already fixed the same problem in the phy-qcom-8x16-usb.c
driver before, I tried to do the same thing here, but it turned
out to be somewhat different, and I ended up running into several
unrelated issues in the driver that I now try to fix up.

The series is not tested beyond verifying that it no longer causes
randconfig warnings, and some patches are not entirely obvious.
In particular the ehci-msm and chipidea changes are probably a
good idea, but they actually change the behavior of the drivers
in a way that I cannot verify through inspection alone. The
last patch in the series probably requires some changes to the
devicetree files to go along with it.

Please have a look and test this, provided the patches make sense
conceptually.

        Arnd

Arnd Bergmann (8):
  usb: phy: move msm_hsusb.h into driver
  usb: ehci-msm: call usb_phy_init instead of open-coding it
  usb: chipidea: msm: remove open-coded phy init
  usb: phy: move TCSR driver into new file
  usb: phy: msm: move register definitions into driver
  usb: phy: qcom: use bulk regulator interfaces
  usb: phy: msm: remove v1p8/v3p3 voltage setting
  usb: phy: msm: disable regulator for remove()

 drivers/soc/qcom/Kconfig           |   6 +
 drivers/soc/qcom/Makefile          |   1 +
 drivers/soc/qcom/qcom-tcsr.c       |  57 +++++
 drivers/usb/chipidea/ci_hdrc_msm.c |   6 -
 drivers/usb/host/ehci-msm.c        |  17 +-
 drivers/usb/phy/Kconfig            |   1 +
 drivers/usb/phy/phy-msm-usb.c      | 432 ++++++++++++++++++++++++-------------
 include/linux/soc/qcom/tcsr.h      |  13 ++
 include/linux/usb/msm_hsusb.h      | 200 -----------------
 include/linux/usb/msm_hsusb_hw.h   |  77 -------
 10 files changed, 367 insertions(+), 443 deletions(-)
 create mode 100644 drivers/soc/qcom/qcom-tcsr.c
 create mode 100644 include/linux/soc/qcom/tcsr.h
 delete mode 100644 include/linux/usb/msm_hsusb.h
 delete mode 100644 include/linux/usb/msm_hsusb_hw.h

-- 
2.7.0
Cc: Andy Gross <[email protected]>
Cc: David Brown <[email protected]>
Cc: Peter Chen <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Alan Stern <[email protected]>
Cc: Felipe Balbi <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Mark Brown <[email protected]>
Cc: Bjorn Andersson <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]

Reply via email to