aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorEric Bénard <eric@eukrea.com>2010-07-15 03:20:19 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-10 17:35:40 -0400
commitfa345d0109ac8c8e388196b1db29d1a570239d3b (patch)
tree65d4eae41856f1a6041678945c7c762081aa0321 /drivers/usb
parent9800eb330df0c1a8ef6f4123705eea691000e374 (diff)
USB: otg/ulpi.c : fix register write
ulpi_set_vbus and ulpi_set_flags are using ULPI_SET(register) to write to the PHY's registers, which means we can only set bits in the PHY's register and not clear them. By directly using the address of the register without any offset, we now get the expected behaviour for these functions. Signed-off-by: Eric Bénard <eric@eukrea.com> Cc: Daniel Mack <daniel@caiaq.de> Cc: linux-arm-kernel@lists.infradead.org Cc: Sascha Hauer <kernel@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/otg/ulpi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/otg/ulpi.c b/drivers/usb/otg/ulpi.c
index d331b222ad21..10a1df628f8c 100644
--- a/drivers/usb/otg/ulpi.c
+++ b/drivers/usb/otg/ulpi.c
@@ -54,7 +54,7 @@ static int ulpi_set_flags(struct otg_transceiver *otg)
54 if (otg->flags & USB_OTG_EXT_VBUS_INDICATOR) 54 if (otg->flags & USB_OTG_EXT_VBUS_INDICATOR)
55 flags |= ULPI_OTG_CTRL_EXTVBUSIND; 55 flags |= ULPI_OTG_CTRL_EXTVBUSIND;
56 56
57 return otg_io_write(otg, flags, ULPI_SET(ULPI_OTG_CTRL)); 57 return otg_io_write(otg, flags, ULPI_OTG_CTRL);
58} 58}
59 59
60static int ulpi_init(struct otg_transceiver *otg) 60static int ulpi_init(struct otg_transceiver *otg)
@@ -95,7 +95,7 @@ static int ulpi_set_vbus(struct otg_transceiver *otg, bool on)
95 flags |= ULPI_OTG_CTRL_DRVVBUS_EXT; 95 flags |= ULPI_OTG_CTRL_DRVVBUS_EXT;
96 } 96 }
97 97
98 return otg_io_write(otg, flags, ULPI_SET(ULPI_OTG_CTRL)); 98 return otg_io_write(otg, flags, ULPI_OTG_CTRL);
99} 99}
100 100
101struct otg_transceiver * 101struct otg_transceiver *