Re: [PATCH v2] reset: make shared pulsed reset controls re-triggerable

From: Amjad Ouled-Ameur
Date: Fri Nov 13 2020 - 10:28:16 EST


On 13/11/2020 16:04, Philipp Zabel wrote:

On Fri, 2020-11-13 at 00:00 +0100, Amjad Ouled-Ameur wrote:
The current reset framework API does not allow to release what is done by
reset_control_reset(), IOW decrement triggered_count. Add the new
reset_control_rearm() call to do so.

When reset_control_reset() has been called once, the counter
triggered_count, in the reset framework, is incremented i.e the resource
under the reset is in-use and the reset should not be done again.
reset_control_rearm() would be the way to state that the resource is
no longer used and, that from the caller's perspective, the reset can be
fired again if necessary.

Signed-off-by: Amjad Ouled-Ameur <aouledameur@xxxxxxxxxxxx>
Reported-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx>
---
Change since v1: [0]
* Renamed the new call from reset_control_(array_)resettable to
reset_control_(array_)rearm
* Open-coded reset_control_array_rearm to check for errors before
decrementing triggered_count because we cannot roll back in case an
error occurs while decrementing one of the rstc.
* Reworded the new call's description.
Thank you, applied to reset/next.

regards
Philipp

Thank you for reviewing and approving my patch !

Furthermore, I think your idea of open coding reset_control_array_rearm
was accurate, and should be also applied to reset_control_array_reset()
and reset_control_array_(de)assert()

What do you think ?

In case you agree it is necessary to do so, I can work out an upcoming
patchset to fix this matter.

Best,
Amjad