Merge branch 'icc-platform-remove' into icc-next
authorGeorgi Djakov <djakov@kernel.org>
Thu, 23 Nov 2023 22:21:12 +0000 (00:21 +0200)
committerGeorgi Djakov <djakov@kernel.org>
Thu, 23 Nov 2023 22:21:12 +0000 (00:21 +0200)
commit70ad2111d04940a506850e9f64fda25d349b2fa1
tree9897bd5e0eec9c7daee9b050484271a7b55c5925
parent45db9b84164b5923417c25d1aa078dfe923c645d
parentb73326b60fddf2ea134c2d9d621f441fa2cee532
Merge branch 'icc-platform-remove' into icc-next

* icc-platform-remove
  interconnect: qcom: Make qnoc_remove return void
  interconnect: imx8mm: Convert to platform remove callback returning void
  interconnect: imx8mn: Convert to platform remove callback returning void
  interconnect: imx8mp: Convert to platform remove callback returning void
  interconnect: imx8mq: Convert to platform remove callback returning void
  interconnect: qcom/msm8974: Convert to platform remove callback returning void
  interconnect: qcom/osm-l3: Convert to platform remove callback returning void
  interconnect: qcom/smd-rpm: Convert to platform remove callback returning void
  interconnect: exynos: Convert to platform remove callback returning void

This series converts all platform drivers below drivers/interconnect to
use .remove_new(). Compared to the traditional .remove() callback
.remove_new() returns no value. This is a good thing because the driver
core doesn't (and cannot) cope for errors during remove. The only effect
of a non-zero return value in .remove() is that the driver core emits a
warning. The device is removed anyhow and an early return from .remove()
usually yields resource leaks and/or use-after-free bugs.

See commit 5c5a7680e67b ("platform: Provide a remove callback that
returns no value") for an extended explanation and the eventual goal.

All drivers converted here already returned zero unconditionally in
.remove(), so they are converted here trivially. The imx drivers could
be slightly simplified, because the remove callback only called a single
function with the same prototype as .remove_new().

Link: https://lore.kernel.org/r/20231031222851.3126434-11-u.kleine-koenig@pengutronix.de
Signed-off-by: Georgi Djakov <djakov@kernel.org>