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
users.

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 <patrick.delaunay@foss.st.com>
Change-Id: Ia77c62ce3ca45336d9126875d5bbfba74214a7b4
Reviewed-on: https://gerrit.st.com/c/mpu/oe/st/u-boot/+/293200
ACI: CITOOLS <MDG-smet-aci-reviews@list.st.com>
Reviewed-by: Fabrice GASNIER <fabrice.gasnier@foss.st.com>
Reviewed-by: Patrice CHOTARD <patrice.chotard@foss.st.com>
Domain-Review: Patrice CHOTARD <patrice.chotard@foss.st.com>
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
View
drivers/reset/reset-uclass.c
View
include/reset.h
View
test/dm/reset.c