summaryrefslogtreecommitdiffstats
path: root/drivers/interconnect/qcom/icc-rpm.h
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2021-12-15 08:23:20 +0800
committerGeorgi Djakov <djakov@kernel.org>2021-12-15 07:12:36 +0200
commite9d54c26344f8e5390c643613ec192858104eca2 (patch)
tree99d62e25fdb4b76e5338062e98598532a60088b0 /drivers/interconnect/qcom/icc-rpm.h
parent1f41badaf6932f13eebf711045a4ad387e60cb0b (diff)
downloadlinux-stable-e9d54c26344f8e5390c643613ec192858104eca2.tar.gz
linux-stable-e9d54c26344f8e5390c643613ec192858104eca2.tar.bz2
linux-stable-e9d54c26344f8e5390c643613ec192858104eca2.zip
interconnect: icc-rpm: Define ICC device type
The driver currently uses .is_bimc_node to distinguish device type BIMC from NOC. Define type for bus/noc devices like what downstream[1] does to make support for more types easier. [1] https://source.codeaurora.org/quic/la/kernel/msm-4.19/tree/drivers/soc/qcom/msm_bus/msm_bus_core.h?h=kernel.lnx.4.19.r22-rel#n46 Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Link: https://lore.kernel.org/r/20211215002324.1727-2-shawn.guo@linaro.org Signed-off-by: Georgi Djakov <djakov@kernel.org>
Diffstat (limited to 'drivers/interconnect/qcom/icc-rpm.h')
-rw-r--r--drivers/interconnect/qcom/icc-rpm.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/interconnect/qcom/icc-rpm.h b/drivers/interconnect/qcom/icc-rpm.h
index fd06a3b9e3f7..2268777348cb 100644
--- a/drivers/interconnect/qcom/icc-rpm.h
+++ b/drivers/interconnect/qcom/icc-rpm.h
@@ -12,19 +12,24 @@
#define to_qcom_provider(_provider) \
container_of(_provider, struct qcom_icc_provider, provider)
+enum qcom_icc_type {
+ QCOM_ICC_NOC,
+ QCOM_ICC_BIMC,
+};
+
/**
* struct qcom_icc_provider - Qualcomm specific interconnect provider
* @provider: generic interconnect provider
* @bus_clks: the clk_bulk_data table of bus clocks
* @num_clks: the total number of clk_bulk_data entries
- * @is_bimc_node: indicates whether to use bimc specific setting
+ * @type: the ICC provider type
* @qos_offset: offset to QoS registers
* @regmap: regmap for QoS registers read/write access
*/
struct qcom_icc_provider {
struct icc_provider provider;
int num_clks;
- bool is_bimc_node;
+ enum qcom_icc_type type;
struct regmap *regmap;
unsigned int qos_offset;
struct clk_bulk_data bus_clks[];
@@ -78,7 +83,7 @@ struct qcom_icc_desc {
const char * const *clocks;
size_t num_clocks;
bool has_bus_pd;
- bool is_bimc_node;
+ enum qcom_icc_type type;
const struct regmap_config *regmap_cfg;
unsigned int qos_offset;
};