summaryrefslogtreecommitdiffstats
path: root/drivers/reset
diff options
context:
space:
mode:
authorCrystal Guo <crystal.guo@mediatek.com>2020-09-30 04:21:59 +0200
committerPhilipp Zabel <p.zabel@pengutronix.de>2020-12-03 08:44:57 +0100
commitd06c4dec98b655e2808d2a59681ec24197c59c9d (patch)
tree35da8566ce80740d5956ff12671626c49e9f099f /drivers/reset
parentreset: socfpga: add error handling and release mem-region (diff)
downloadlinux-d06c4dec98b655e2808d2a59681ec24197c59c9d.tar.xz
linux-d06c4dec98b655e2808d2a59681ec24197c59c9d.zip
reset-controller: ti: force the write operation when assert or deassert
Force the write operation in case the read already happens to return the correct value. Signed-off-by: Crystal Guo <crystal.guo@mediatek.com> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/reset')
-rw-r--r--drivers/reset/reset-ti-syscon.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c
index ef97c4dbbb4e..218370faf37b 100644
--- a/drivers/reset/reset-ti-syscon.c
+++ b/drivers/reset/reset-ti-syscon.c
@@ -89,7 +89,7 @@ static int ti_syscon_reset_assert(struct reset_controller_dev *rcdev,
mask = BIT(control->assert_bit);
value = (control->flags & ASSERT_SET) ? mask : 0x0;
- return regmap_update_bits(data->regmap, control->assert_offset, mask, value);
+ return regmap_write_bits(data->regmap, control->assert_offset, mask, value);
}
/**
@@ -120,7 +120,7 @@ static int ti_syscon_reset_deassert(struct reset_controller_dev *rcdev,
mask = BIT(control->deassert_bit);
value = (control->flags & DEASSERT_SET) ? mask : 0x0;
- return regmap_update_bits(data->regmap, control->deassert_offset, mask, value);
+ return regmap_write_bits(data->regmap, control->deassert_offset, mask, value);
}
/**