[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <1401712543-14281-2-git-send-email-b.zolnierkie@samsung.com>
Date: Mon, 02 Jun 2014 14:35:37 +0200
From: Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>
To: Kukjin Kim <kgene.kim@...sung.com>
Cc: Daniel Lezcano <daniel.lezcano@...aro.org>,
Tomasz Figa <t.figa@...sung.com>,
Sachin Kamat <sachin.kamat@...aro.org>,
Viresh Kumar <viresh.kumar@...aro.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Kyungmin Park <kyungmin.park@...sung.com>,
linux-samsung-soc@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org, linaro-kernel@...ts.linaro.org,
b.zolnierkie@...sung.com
Subject: [PATCH v2 1/7] arm: firmware: Check firmware is running or not
From: Kyungmin Park <kyungmin.park@...sung.com>
To support multi-platform, it needs to know it's running under secure
OS or not. Sometimes it needs to access physical address by SMC calls.
e.g.,
if (firmware_run()) {
addr = physical address;
} else {
addr = virtual address;
}
call_firmware_ops(read_address, addr, &value);
Signed-off-by: Kyungmin Park <kyungmin.park@...sung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>
---
arch/arm/common/firmware.c | 5 +++++
arch/arm/include/asm/firmware.h | 3 +++
2 files changed, 8 insertions(+)
diff --git a/arch/arm/common/firmware.c b/arch/arm/common/firmware.c
index 27ddccb..e9d9ee5 100644
--- a/arch/arm/common/firmware.c
+++ b/arch/arm/common/firmware.c
@@ -16,3 +16,8 @@
static const struct firmware_ops default_firmware_ops;
const struct firmware_ops *firmware_ops = &default_firmware_ops;
+
+int firmware_run(void)
+{
+ return firmware_ops != &default_firmware_ops;
+}
diff --git a/arch/arm/include/asm/firmware.h b/arch/arm/include/asm/firmware.h
index 2c9f10d..c72ec47 100644
--- a/arch/arm/include/asm/firmware.h
+++ b/arch/arm/include/asm/firmware.h
@@ -46,6 +46,9 @@ struct firmware_ops {
/* Global pointer for current firmware_ops structure, can't be NULL. */
extern const struct firmware_ops *firmware_ops;
+/* Check firmware is running */
+extern int firmware_run(void);
+
/*
* call_firmware_op(op, ...)
*
--
1.8.2.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists