Some users of SCM need to detect features and also detect if
those features have certain versions available. Add this API.

Signed-off-by: Stephen Boyd <[email protected]>
---
 arch/arm/mach-qcom/scm.c | 13 +++++++++++++
 arch/arm/mach-qcom/scm.h |  1 +
 2 files changed, 14 insertions(+)

diff --git a/arch/arm/mach-qcom/scm.c b/arch/arm/mach-qcom/scm.c
index e80571f57ca4..7c62c03324f4 100644
--- a/arch/arm/mach-qcom/scm.c
+++ b/arch/arm/mach-qcom/scm.c
@@ -410,3 +410,16 @@ int scm_is_call_available(u32 svc_id, u32 cmd_id)
        return ret_val;
 }
 EXPORT_SYMBOL(scm_is_call_available);
+
+#define GET_FEAT_VERSION_CMD   3
+int scm_get_feat_version(u32 feat)
+{
+       if (scm_is_call_available(SCM_SVC_INFO, GET_FEAT_VERSION_CMD)) {
+               u32 version;
+               if (!scm_call(SCM_SVC_INFO, GET_FEAT_VERSION_CMD, &feat,
+                               sizeof(feat), &version, sizeof(version)))
+                       return version;
+       }
+       return 0;
+}
+EXPORT_SYMBOL(scm_get_feat_version);
diff --git a/arch/arm/mach-qcom/scm.h b/arch/arm/mach-qcom/scm.h
index f94c7279616a..6348b08524e7 100644
--- a/arch/arm/mach-qcom/scm.h
+++ b/arch/arm/mach-qcom/scm.h
@@ -26,5 +26,6 @@ extern s32 scm_call_atomic2(u32 svc, u32 cmd, u32 arg1, u32 
arg2);
 
 extern u32 scm_get_version(void);
 extern int scm_is_call_available(u32 svc_id, u32 cmd_id);
+extern int scm_get_feat_version(u32 feat);
 
 #endif
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to