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> |
---|
|
drivers/reset/reset-uclass.c |
---|
include/reset.h |
---|
test/dm/reset.c |
---|