]> git.baikalelectronics.ru Git - kernel.git/commit
firmware: arm_scmi: Cleanup the core driver removal callback
authorCristian Marussi <cristian.marussi@arm.com>
Fri, 28 Oct 2022 14:08:26 +0000 (15:08 +0100)
committerSudeep Holla <sudeep.holla@arm.com>
Tue, 1 Nov 2022 11:30:13 +0000 (11:30 +0000)
commit6f066c47370e825e6d856a5f3573e3fb87f28792
treed7a15cd643cc4d068ac0a91313d3b0c9126de184
parentf9cd8e124bf669aeea2383cd3379e3e16e75ceea
firmware: arm_scmi: Cleanup the core driver removal callback

Platform drivers .remove callbacks are not supposed to fail and report
errors. Such errors are indeed ignored by the core platform drivers
and the driver unbind process is anyway completed.

The SCMI core platform driver as it is now, instead, bails out reporting
an error in case of an explicit unbind request.

Fix the removal path by adding proper device links between the core SCMI
device and the SCMI protocol devices so that a full SCMI stack unbind is
triggered when the core driver is removed. The remove process does not
bail out anymore on the anomalous conditions triggered by an explicit
unbind but the user is still warned.

Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Link: https://lore.kernel.org/r/20221028140833.280091-1-cristian.marussi@arm.com
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_scmi/bus.c
drivers/firmware/arm_scmi/common.h
drivers/firmware/arm_scmi/driver.c