From 18e1eb265e1bb25cb9cafb2f728c3d9026ca9d3d Mon Sep 17 00:00:00 2001 From: Osvaldo Banuelos Date: Thu, 11 Aug 2016 10:37:05 -0700 Subject: [PATCH] clk: msm: osm: add debugfs interface to write to ACD registers Make the debugfs node acd_debug_reg writeable to allow writes to master and local copies of the ACD block. Change-Id: I59aa3a6eb3ce3908e2814b5d45920cbc76ee8eee CRs-Fixed: 1053383 Signed-off-by: Osvaldo Banuelos --- drivers/clk/msm/clock-osm.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/clk/msm/clock-osm.c b/drivers/clk/msm/clock-osm.c index 4d90b49b0e2e..d994b9435020 100644 --- a/drivers/clk/msm/clock-osm.c +++ b/drivers/clk/msm/clock-osm.c @@ -2679,10 +2679,23 @@ static int debugfs_get_debug_reg(void *data, u64 *val) *val = clk_osm_acd_local_read_reg(c, c->acd_debugfs_addr); return 0; } + +static int debugfs_set_debug_reg(void *data, u64 val) +{ + struct clk_osm *c = data; + + if (c->acd_debugfs_addr >= ACD_MASTER_ONLY_REG_ADDR) + clk_osm_acd_master_write_reg(c, val, c->acd_debugfs_addr); + else + clk_osm_acd_master_write_through_reg(c, val, + c->acd_debugfs_addr); + + return 0; +} DEFINE_SIMPLE_ATTRIBUTE(debugfs_acd_debug_reg_fops, debugfs_get_debug_reg, - NULL, - "%llu\n"); + debugfs_set_debug_reg, + "0x%llx\n"); static int debugfs_get_debug_reg_addr(void *data, u64 *val) {