Skip to content

Commit 2db4da5

Browse files
Alain VolmatpH5
authored andcommitted
reset: sti: rely on regmap_field_read_poll_timeout for ack wait
Use regmap_field_read_poll_timeout function when waiting for the ack bit upon performing the reset control. Signed-off-by: Alain Volmat <avolmat@me.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Link: https://lore.kernel.org/r/20230210224332.98482-1-avolmat@me.com Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
1 parent fdcfdb2 commit 2db4da5

1 file changed

Lines changed: 4 additions & 14 deletions

File tree

drivers/reset/sti/reset-syscfg.c

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -64,22 +64,12 @@ static int syscfg_reset_program_hw(struct reset_controller_dev *rcdev,
6464
return err;
6565

6666
if (ch->ack) {
67-
unsigned long timeout = jiffies + msecs_to_jiffies(1000);
6867
u32 ack_val;
6968

70-
while (true) {
71-
err = regmap_field_read(ch->ack, &ack_val);
72-
if (err)
73-
return err;
74-
75-
if (ack_val == ctrl_val)
76-
break;
77-
78-
if (time_after(jiffies, timeout))
79-
return -ETIME;
80-
81-
cpu_relax();
82-
}
69+
err = regmap_field_read_poll_timeout(ch->ack, ack_val, (ack_val == ctrl_val),
70+
100, USEC_PER_SEC);
71+
if (err)
72+
return err;
8373
}
8474

8575
return 0;

0 commit comments

Comments
 (0)