From 56d62647adca2229d4cffd55dce0544326803b82 Mon Sep 17 00:00:00 2001 From: Zhen Kong Date: Tue, 10 Mar 2015 16:29:53 -0700 Subject: [PATCH] qseecom: Change to work with appsbl qseecom Do not send app regin notification if qseecom in appsbl has already done it Change-Id: I81ae9a991a5d8ec582d9320e18be1b6f8e8ee7fd Signed-off-by: Zhen Kong --- Documentation/devicetree/bindings/qseecom/qseecom.txt | 2 ++ drivers/misc/qseecom.c | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/qseecom/qseecom.txt b/Documentation/devicetree/bindings/qseecom/qseecom.txt index c0426a7b082..fcca2e5c834 100644 --- a/Documentation/devicetree/bindings/qseecom/qseecom.txt +++ b/Documentation/devicetree/bindings/qseecom/qseecom.txt @@ -16,6 +16,7 @@ Optional properties: - qcom,support-bus-scaling : indicates if driver support scaling the bus for crypto operation. - qcom,support-fde : indicates if driver support key managing for full disk encryption feature. - qcom,support-pfe : indicates if driver support key managing for per file encryption feature. + - qcom,appsbl-qseecom-support : indicates if there is qseecom support in appsbootloader Example: qcom,qseecom@fe806000 { @@ -32,6 +33,7 @@ Example: qcom,msm_bus,num_cases = <4>; qcom,msm_bus,active_only = <0>; qcom,msm_bus,num_paths = <1>; + qcom,appsbl-qseecom-support; qcom,msm_bus,vectors = <55 512 0 0>, <55 512 3936000000 393600000>, diff --git a/drivers/misc/qseecom.c b/drivers/misc/qseecom.c index c9bf7f8a7a4..42b725f650f 100644 --- a/drivers/misc/qseecom.c +++ b/drivers/misc/qseecom.c @@ -177,6 +177,7 @@ struct qseecom_control { struct work_struct bw_inactive_req_ws; struct cdev cdev; bool timer_running; + bool appsbl_qseecom_support; }; struct qseecom_client_handle { @@ -4444,6 +4445,12 @@ static int __devinit qseecom_probe(struct platform_device *pdev) qseecom.ce_info.qsee_ce_hw_instance); } + qseecom.appsbl_qseecom_support = + of_property_read_bool((&pdev->dev)->of_node, + "qcom,appsbl-qseecom-support"); + pr_info("qseecom.appsbl_qseecom_support = 0x%x", + qseecom.appsbl_qseecom_support); + qseecom.qsee.instance = qseecom.ce_info.qsee_ce_hw_instance; qseecom.ce_drv.instance = qseecom.ce_info.hlos_ce_hw_instance; @@ -4470,7 +4477,8 @@ static int __devinit qseecom_probe(struct platform_device *pdev) qseecom_platform_support = (struct msm_bus_scale_pdata *) msm_bus_cl_get_pdata(pdev); - if (qseecom.qsee_version >= (QSEE_VERSION_02)) { + if (qseecom.qsee_version >= (QSEE_VERSION_02) && + !qseecom.appsbl_qseecom_support) { struct resource *resource = NULL; struct qsee_apps_region_info_ireq req; struct qseecom_command_scm_resp resp;