reset: remove reset_assert call in reset_release_all
The API reset_release_all should only release the reset bulk resources
and not change the reset level with de-assert.

In U-Boot, it is the responsibility of the caller (each driver) to call
reset_assert_all if the reset level need to be handle, as it is done by
the single reset API: reset_request/reset_free.

This patch avoids issue when a reset line is shared by several drivers;
the bulk resets are requested and de-asserted in probe
with reset_get_bulk()/reset_deassert_bulk() and the reset_release_all()
is called in remove to release the associated resource
but the de-assert must not be performed for shared reset.

It is it the case for shared reset for generic EHCI / OHCI, the common
reset linux is managed in Linux kernel by shared reset API
devm_reset_control_get_shared() = performs de-assert only for the last

I think it is the good time to change this behavior as the reset bulk
API is not yet massively used in driver.

Fixes: 3b9d1bdd4e5fe ("reset: add reset_release_all()")
Signed-off-by: Patrick Delaunay <>
Change-Id: Ia77c62ce3ca45336d9126875d5bbfba74214a7b4
Reviewed-by: Fabrice GASNIER <>
Reviewed-by: Patrice CHOTARD <>
Domain-Review: Patrice CHOTARD <>
1 parent 5fe8189 commit 15166ac22ac5a6c495635443674d6f030860cca2
@Patrick Delaunay Patrick Delaunay authored on 22 Feb 2023
Patrice Chotard committed on 29 May 2023
Showing 3 changed files