soc: qcom: apr: make code more reuseable
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Mon, 27 Sep 2021 13:55:40 +0000 (14:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:13:57 +0000 (13:13 +0100)
commit6855dd02c55d7fb0af8991586ae06d57c92f6323
tree4151c14fa747db20fd99e65ca257c552104cc64c
parentc9fb81a8355c265ee99157fe648dfcf085d69050
soc: qcom: apr: make code more reuseable

[ Upstream commit 99139b80c1b3d73026ed8be2de42c52e2976ab64 ]

APR and other packet routers like GPR are pretty much same and
interact with other drivers in similar way.

Ex: GPR ports can be considered as APR services, only difference
is they are allocated dynamically.

Other difference is packet layout, which should not matter
with the apis abstracted. Apart from this the rest of the
functionality is pretty much identical across APR and GPR.

Make the apr code more reusable by abstracting it service level,
rather than device level so that we do not need to write
new drivers for other new packet routers like GPR.

This patch is in preparation to add GPR support to this driver.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210927135559.738-4-srinivas.kandagatla@linaro.org
Stable-dep-of: 6d7860f5750d ("soc: qcom: apr: Add check for idr_alloc and of_property_read_string_index")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/soc/qcom/apr.c
include/linux/soc/qcom/apr.h