linux/drivers/interconnect
Johan Hovold eb59eca0d8 interconnect: fix provider registration API
The current interconnect provider interface is inherently racy as
providers are expected to be added before being fully initialised.

Specifically, nodes are currently not added and the provider data is not
initialised until after registering the provider which can cause racing
DT lookups to fail.

Add a new provider API which will be used to fix up the interconnect
drivers.

The old API is reimplemented using the new interface and will be removed
once all drivers have been fixed.

Fixes: 11f1ceca70 ("interconnect: Add generic on-chip interconnect API")
Fixes: 87e3031b6f ("interconnect: Allow endpoints translation via DT")
Cc: stable@vger.kernel.org      # 5.1
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com> # i.MX8MP MSC SM2-MB-EP1 Board
Link: https://lore.kernel.org/r/20230306075651.2449-4-johan+linaro@kernel.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
2023-03-07 22:19:05 +02:00
..
imx interconnect: imx: Make imx_icc_unregister() return void 2022-08-18 07:20:41 +03:00
qcom interconnect: qcom: qcm2290: Fix MASTER_SNOC_BIMC_NRT 2023-03-06 22:18:59 +02:00
samsung interconnect: samsung: describe drivers in KConfig 2021-10-04 16:03:33 +03:00
bulk.c interconnect: add device managed bulk API 2022-07-04 16:14:29 +03:00
core.c interconnect: fix provider registration API 2023-03-07 22:19:05 +02:00
internal.h interconnect: Add helpers for enabling/disabling a path 2020-05-10 18:30:37 +03:00
Kconfig interconnect: Add generic interconnect driver for Exynos SoCs 2020-11-30 17:26:22 +02:00
Makefile interconnect: Add generic interconnect driver for Exynos SoCs 2020-11-30 17:26:22 +02:00
trace.h interconnect: Add basic tracepoints 2019-12-16 09:25:23 +02:00