From 9635f396c036bd844a91407a57372a368a710908 Mon Sep 17 00:00:00 2001
From: Naveen Ramaraj <nramaraj@codeaurora.org>
Date: Tue, 18 Aug 2015 15:09:08 -0700
Subject: [PATCH] msm: rpm-master-stat: Modify RPM master stats platform data
Currently each master stats are placed in RPM message
RAM at a fixed offset location. This can be varied across
different platforms. Hence adding a 'master_offset'
variable to platform data. This avoids the hard coding
of offset value in rpm master stats driver.
Cherry-Picked-From: codeaurora.org msm-3.4 commit: 2f9390a4
CRs-Fixed: 517589
Change-Id: Ifb89b518930022a735495622712f694a987f47f3
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Signed-off-by: Naveen Ramaraj <nramaraj@codeaurora.org>
---
arch/arm/mach-msm/devices-8064.c | 5 +++--
arch/arm/mach-msm/devices-8930.c | 5 +++--
arch/arm/mach-msm/devices-8960.c | 5 +++--
arch/arm/mach-msm/devices-9615.c | 5 +++--
arch/arm/mach-msm/rpm_master_stat.c | 6 +++---
arch/arm/mach-msm/rpm_stats.h | 8 +++++---
6 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/arch/arm/mach-msm/devices-8064.c b/arch/arm/mach-msm/devices-8064.c
index 4daccb1fd4b7..2fd1bf30bdea 100644
--- a/arch/arm/mach-msm/devices-8064.c
+++ b/arch/arm/mach-msm/devices-8064.c
@@ -2634,11 +2634,12 @@ static char *master_names[] = {
static struct msm_rpm_master_stats_platform_data msm_rpm_master_stat_pdata = {
.masters = master_names,
- .nomasters = ARRAY_SIZE(master_names),
+ .num_masters = ARRAY_SIZE(master_names),
+ .master_offset = 32,
};
struct platform_device apq8064_rpm_master_stat_device = {
- .name = "msm_rpm_master_stat",
+ .name = "msm_rpm_master_stats",
.id = -1,
.num_resources = ARRAY_SIZE(resources_rpm_master_stats),
.resource = resources_rpm_master_stats,
diff --git a/arch/arm/mach-msm/devices-8930.c b/arch/arm/mach-msm/devices-8930.c
index e2a57f911faf..c4fe0df6837f 100644
--- a/arch/arm/mach-msm/devices-8930.c
+++ b/arch/arm/mach-msm/devices-8930.c
@@ -610,11 +610,12 @@ static char *master_names[] = {
static struct msm_rpm_master_stats_platform_data msm_rpm_master_stat_pdata = {
.masters = master_names,
- .nomasters = ARRAY_SIZE(master_names),
+ .num_masters = ARRAY_SIZE(master_names),
+ .master_offset = 32,
};
struct platform_device msm8930_rpm_master_stat_device = {
- .name = "msm_rpm_master_stat",
+ .name = "msm_rpm_master_stats",
.id = -1,
.num_resources = ARRAY_SIZE(resources_rpm_master_stats),
.resource = resources_rpm_master_stats,
diff --git a/arch/arm/mach-msm/devices-8960.c b/arch/arm/mach-msm/devices-8960.c
index 71f58a67dc9f..6664e17dadbf 100644
--- a/arch/arm/mach-msm/devices-8960.c
+++ b/arch/arm/mach-msm/devices-8960.c
@@ -4018,11 +4018,12 @@ static char *master_names[] = {
static struct msm_rpm_master_stats_platform_data msm_rpm_master_stat_pdata = {
.masters = master_names,
- .nomasters = ARRAY_SIZE(master_names),
+ .num_masters = ARRAY_SIZE(master_names),
+ .master_offset = 32,
};
struct platform_device msm8960_rpm_master_stat_device = {
- .name = "msm_rpm_master_stat",
+ .name = "msm_rpm_master_stats",
.id = -1,
.num_resources = ARRAY_SIZE(resources_rpm_master_stats),
.resource = resources_rpm_master_stats,
diff --git a/arch/arm/mach-msm/devices-9615.c b/arch/arm/mach-msm/devices-9615.c
index 483d8b387343..6a486467131c 100644
--- a/arch/arm/mach-msm/devices-9615.c
+++ b/arch/arm/mach-msm/devices-9615.c
@@ -1431,11 +1431,12 @@ static char *master_names[] = {
static struct msm_rpm_master_stats_platform_data msm_rpm_master_stat_pdata = {
.masters = master_names,
- .nomasters = ARRAY_SIZE(master_names),
+ .num_masters = ARRAY_SIZE(master_names),
+ .master_offset = 32,
};
struct platform_device msm9615_rpm_master_stat_device = {
- .name = "msm_rpm_master_stat",
+ .name = "msm_rpm_master_stats",
.id = -1,
.num_resources = ARRAY_SIZE(resources_rpm_master_stats),
.resource = resources_rpm_master_stats,
diff --git a/arch/arm/mach-msm/rpm_master_stat.c b/arch/arm/mach-msm/rpm_master_stat.c
index 49a1039c5f07..a8a965e0a6d8 100644
--- a/arch/arm/mach-msm/rpm_master_stat.c
+++ b/arch/arm/mach-msm/rpm_master_stat.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -170,7 +170,7 @@ static int msm_rpm_master_stats_file_open(struct inode *inode,
}
prvdata->len = 0;
- prvdata->nomasters = pdata->nomasters;
+ prvdata->nomasters = pdata->num_masters;
prvdata->master_names = pdata->masters;
prvdata->platform_data = pdata;
return 0;
@@ -223,7 +223,7 @@ static struct platform_driver msm_rpm_master_stats_driver = {
.probe = msm_rpm_master_stats_probe,
.remove = __devexit_p(msm_rpm_master_stats_remove),
.driver = {
- .name = "msm_rpm_master_stat",
+ .name = "msm_rpm_master_stats",
.owner = THIS_MODULE,
},
};
diff --git a/arch/arm/mach-msm/rpm_stats.h b/arch/arm/mach-msm/rpm_stats.h
index c1dfe3492450..34c1b99f1264 100644
--- a/arch/arm/mach-msm/rpm_stats.h
+++ b/arch/arm/mach-msm/rpm_stats.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -31,9 +31,11 @@ struct msm_rpm_master_stats_platform_data {
* it allocates 256 bytes for this use.
* No of masters differs for different targets.
* Based on the number of masters, linux rpm stat
- * driver reads (32 * nomasters) bytes to display
+ * driver reads (32 * num_masters) bytes to display
* master stats.
*/
- u32 nomasters;
+ s32 num_masters;
+ u32 master_offset;
+ u32 version;
};
#endif
--
GitLab