summaryrefslogtreecommitdiff
path: root/drivers/usb/misc
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2018-09-26 13:42:55 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2019-06-21 14:30:49 +0200
commite51a5226d0e0ba38ff490924fda4f051c4d6c6dc (patch)
tree2b31592ca9182ce67dafb9304f17cd2d61b1548e /drivers/usb/misc
parent3d33202289dd9a36d476b661b470467cb5578d2e (diff)
usb/misc/usb3503: use regmap write to set nrd and pds
Using regmap update bits the way it was used is wrong as only additional bits gets set but no bits would be cleared. The whole register or NRD and PDS are reserved for those two function. There are no bits which needs to be preserved in the registers so just writting the new value is all that is needed. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 02a78261315045011a5a987761d7a76e51b04480) (cherry picked from commit b38bde54f80dbb67be727e04c8ee3e8d2969a3f9)
Diffstat (limited to 'drivers/usb/misc')
-rw-r--r--drivers/usb/misc/usb3503.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/usb/misc/usb3503.c b/drivers/usb/misc/usb3503.c
index 81f74654e5a3..77127466f32e 100644
--- a/drivers/usb/misc/usb3503.c
+++ b/drivers/usb/misc/usb3503.c
@@ -105,8 +105,7 @@ static int usb3503_connect(struct usb3503 *hub)
/* PDS : Set the ports which are disabled in self-powered mode. */
if (hub->port_off_mask) {
- err = regmap_update_bits(hub->regmap, USB3503_PDS,
- hub->port_off_mask,
+ err = regmap_write(hub->regmap, USB3503_PDS,
hub->port_off_mask);
if (err < 0) {
dev_err(dev, "PDS failed (%d)\n", err);
@@ -125,8 +124,7 @@ static int usb3503_connect(struct usb3503 *hub)
/* NRD : Set non removable ports. */
if (hub->port_nrd) {
- err = regmap_update_bits(hub->regmap, USB3503_NRD,
- hub->port_nrd,
+ err = regmap_write(hub->regmap, USB3503_NRD,
hub->port_nrd);
if (err < 0) {
dev_err(dev, "NRD failed (%d)\n", err);