lkml.org 
[lkml]   [2014]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] mfd: syscon: Make it possible to mark syscon as read only
Date
Make it possible to mark syscon as read only, so that it can be used to
expose pieces of hardware that is read only.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
---
Documentation/devicetree/bindings/mfd/syscon.txt | 3 +++
drivers/mfd/syscon.c | 10 ++++++++++
2 files changed, 13 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/syscon.txt b/Documentation/devicetree/bindings/mfd/syscon.txt
index fe8150b..163325af0 100644
--- a/Documentation/devicetree/bindings/mfd/syscon.txt
+++ b/Documentation/devicetree/bindings/mfd/syscon.txt
@@ -13,6 +13,9 @@ Required properties:
- compatible: Should contain "syscon".
- reg: the register region can be accessed from syscon

+Optional properties:
+- read-only: the register region is read only
+
Examples:
gpr: iomuxc-gpr@020e0000 {
compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c
index ca15878..902579d 100644
--- a/drivers/mfd/syscon.c
+++ b/drivers/mfd/syscon.c
@@ -110,6 +110,11 @@ struct regmap *syscon_regmap_lookup_by_phandle(struct device_node *np,
}
EXPORT_SYMBOL_GPL(syscon_regmap_lookup_by_phandle);

+static bool syscon_readonly_writable(struct device *dev, unsigned int reg)
+{
+ return false;
+}
+
static const struct of_device_id of_syscon_match[] = {
{ .compatible = "syscon", },
{ },
@@ -141,6 +146,11 @@ static int syscon_probe(struct platform_device *pdev)
if (!base)
return -ENOMEM;

+ if (of_property_read_bool(dev->of_node, "read-only"))
+ syscon_regmap_config.writeable_reg = syscon_readonly_writable;
+ else
+ syscon_regmap_config.writeable_reg = NULL;
+
syscon_regmap_config.max_register = res->end - res->start - 3;
if (pdata)
syscon_regmap_config.name = pdata->label;
--
1.8.2.2


\
 
 \ /
  Last update: 2014-06-19 23:01    [W:0.047 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site