All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] MSM: clock debugfs and cleanups
@ 2011-01-25  3:45 ` Stephen Boyd
  0 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-25  3:45 UTC (permalink / raw)
  To: David Brown
  Cc: Saravana Kannan, linux-kernel, linux-arm-msm, linux-arm-kernel

These patches were previously posted as part of a larger series.
I've refreshed these against the latest msm for-next branch.

They cleanup debugfs and the clock code and add support for
some proc_comm clocks.

Matt Wagantall (1):
  msm: clock: Move debugfs code from clock.c to clock-debug.c

Stephen Boyd (3):
  msm: clock: Remove unused code and definitions
  msm: clock: Invert debugfs directory layout
  msm: clock: Add support for more proc_comm clocks

 arch/arm/mach-msm/Makefile          |    3 +
 arch/arm/mach-msm/board-msm8x60.c   |    5 +-
 arch/arm/mach-msm/clock-debug.c     |  131 +++++++++++++++++++++++++++++++
 arch/arm/mach-msm/clock-pcom.c      |    1 +
 arch/arm/mach-msm/clock-pcom.h      |    4 +-
 arch/arm/mach-msm/clock.c           |  148 ++---------------------------------
 arch/arm/mach-msm/clock.h           |   52 ++----------
 arch/arm/mach-msm/devices-msm7x30.c |    3 +
 arch/arm/mach-msm/devices-qsd8x50.c |    7 ++
 9 files changed, 165 insertions(+), 189 deletions(-)
 create mode 100644 arch/arm/mach-msm/clock-debug.c

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 0/4] MSM: clock debugfs and cleanups
@ 2011-01-25  3:45 ` Stephen Boyd
  0 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-25  3:45 UTC (permalink / raw)
  To: linux-arm-kernel

These patches were previously posted as part of a larger series.
I've refreshed these against the latest msm for-next branch.

They cleanup debugfs and the clock code and add support for
some proc_comm clocks.

Matt Wagantall (1):
  msm: clock: Move debugfs code from clock.c to clock-debug.c

Stephen Boyd (3):
  msm: clock: Remove unused code and definitions
  msm: clock: Invert debugfs directory layout
  msm: clock: Add support for more proc_comm clocks

 arch/arm/mach-msm/Makefile          |    3 +
 arch/arm/mach-msm/board-msm8x60.c   |    5 +-
 arch/arm/mach-msm/clock-debug.c     |  131 +++++++++++++++++++++++++++++++
 arch/arm/mach-msm/clock-pcom.c      |    1 +
 arch/arm/mach-msm/clock-pcom.h      |    4 +-
 arch/arm/mach-msm/clock.c           |  148 ++---------------------------------
 arch/arm/mach-msm/clock.h           |   52 ++----------
 arch/arm/mach-msm/devices-msm7x30.c |    3 +
 arch/arm/mach-msm/devices-qsd8x50.c |    7 ++
 9 files changed, 165 insertions(+), 189 deletions(-)
 create mode 100644 arch/arm/mach-msm/clock-debug.c

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 1/4] msm: clock: Remove unused code and definitions
  2011-01-25  3:45 ` Stephen Boyd
@ 2011-01-25  3:45   ` Stephen Boyd
  -1 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-25  3:45 UTC (permalink / raw)
  To: David Brown
  Cc: Saravana Kannan, linux-kernel, linux-arm-msm, linux-arm-kernel

Remove dead code and push out clock-7x30.h and clock-pcom.h to
where they are actually used.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-msm/board-msm8x60.c   |    5 +---
 arch/arm/mach-msm/clock-pcom.c      |    1 +
 arch/arm/mach-msm/clock.c           |   21 ++--------------
 arch/arm/mach-msm/clock.h           |   45 -----------------------------------
 arch/arm/mach-msm/devices-msm7x30.c |    1 +
 arch/arm/mach-msm/devices-qsd8x50.c |    1 +
 6 files changed, 7 insertions(+), 67 deletions(-)

diff --git a/arch/arm/mach-msm/board-msm8x60.c b/arch/arm/mach-msm/board-msm8x60.c
index 9b5eb2b..e09c174 100644
--- a/arch/arm/mach-msm/board-msm8x60.c
+++ b/arch/arm/mach-msm/board-msm8x60.c
@@ -28,10 +28,7 @@
 #include <mach/board.h>
 #include <mach/msm_iomap.h>
 
-unsigned long clk_get_max_axi_khz(void)
-{
-	return 0;
-}
+#include "devices.h"
 
 static void __init msm8x60_map_io(void)
 {
diff --git a/arch/arm/mach-msm/clock-pcom.c b/arch/arm/mach-msm/clock-pcom.c
index a3b4562..8c4e867 100644
--- a/arch/arm/mach-msm/clock-pcom.c
+++ b/arch/arm/mach-msm/clock-pcom.c
@@ -20,6 +20,7 @@
 
 #include "proc_comm.h"
 #include "clock.h"
+#include "clock-pcom.h"
 
 /*
  * glue for the proc_comm interface
diff --git a/arch/arm/mach-msm/clock.c b/arch/arm/mach-msm/clock.c
index 2069bfa..8f71f8d 100644
--- a/arch/arm/mach-msm/clock.c
+++ b/arch/arm/mach-msm/clock.c
@@ -29,6 +29,7 @@
 #include "clock.h"
 #include "proc_comm.h"
 #include "clock-7x30.h"
+#include "clock-pcom.h"
 
 static DEFINE_MUTEX(clocks_mutex);
 static DEFINE_SPINLOCK(clocks_lock);
@@ -37,13 +38,6 @@ struct clk *msm_clocks;
 unsigned msm_num_clocks;
 
 /*
- * Bitmap of enabled clocks, excluding ACPU which is always
- * enabled
- */
-static DECLARE_BITMAP(clock_map_enabled, NR_CLKS);
-static DEFINE_SPINLOCK(clock_map_lock);
-
-/*
  * Standard clock functions defined in include/linux/clk.h
  */
 struct clk *clk_get(struct device *dev, const char *id)
@@ -77,12 +71,8 @@ int clk_enable(struct clk *clk)
 	unsigned long flags;
 	spin_lock_irqsave(&clocks_lock, flags);
 	clk->count++;
-	if (clk->count == 1) {
+	if (clk->count == 1)
 		clk->ops->enable(clk->id);
-		spin_lock(&clock_map_lock);
-		clock_map_enabled[BIT_WORD(clk->id)] |= BIT_MASK(clk->id);
-		spin_unlock(&clock_map_lock);
-	}
 	spin_unlock_irqrestore(&clocks_lock, flags);
 	return 0;
 }
@@ -94,12 +84,8 @@ void clk_disable(struct clk *clk)
 	spin_lock_irqsave(&clocks_lock, flags);
 	BUG_ON(clk->count == 0);
 	clk->count--;
-	if (clk->count == 0) {
+	if (clk->count == 0)
 		clk->ops->disable(clk->id);
-		spin_lock(&clock_map_lock);
-		clock_map_enabled[BIT_WORD(clk->id)] &= ~BIT_MASK(clk->id);
-		spin_unlock(&clock_map_lock);
-	}
 	spin_unlock_irqrestore(&clocks_lock, flags);
 }
 EXPORT_SYMBOL(clk_disable);
@@ -196,7 +182,6 @@ void __init msm_clock_init(struct clk *clock_tbl, unsigned num_clocks)
 {
 	unsigned n;
 
-	spin_lock_init(&clocks_lock);
 	mutex_lock(&clocks_mutex);
 	msm_clocks = clock_tbl;
 	msm_num_clocks = num_clocks;
diff --git a/arch/arm/mach-msm/clock.h b/arch/arm/mach-msm/clock.h
index c270b55..6a0cade 100644
--- a/arch/arm/mach-msm/clock.h
+++ b/arch/arm/mach-msm/clock.h
@@ -20,9 +20,6 @@
 #include <linux/list.h>
 #include <mach/clk.h>
 
-#include "clock-pcom.h"
-#include "clock-7x30.h"
-
 #define CLKFLAG_INVERT			0x00000001
 #define CLKFLAG_NOINVERT		0x00000002
 #define CLKFLAG_NONEST			0x00000004
@@ -59,51 +56,9 @@ struct clk {
 	struct device *dev;
 };
 
-#define A11S_CLK_CNTL_ADDR		(MSM_CSR_BASE + 0x100)
-#define A11S_CLK_SEL_ADDR		(MSM_CSR_BASE + 0x104)
-#define A11S_VDD_SVS_PLEVEL_ADDR	(MSM_CSR_BASE + 0x124)
-
-#ifdef CONFIG_DEBUG_FS
-#define CLOCK_DBG_NAME(x) .dbg_name = x,
-#else
-#define CLOCK_DBG_NAME(x)
-#endif
-
-#define CLOCK(clk_name, clk_id, clk_dev, clk_flags) {	\
-	.name = clk_name, \
-	.id = clk_id, \
-	.flags = clk_flags, \
-	.dev = clk_dev, \
-	 CLOCK_DBG_NAME(#clk_id) \
-	}
-
 #define OFF CLKFLAG_AUTO_OFF
 #define CLK_MIN CLKFLAG_MIN
 #define CLK_MAX CLKFLAG_MAX
 #define CLK_MINMAX (CLK_MIN | CLK_MAX)
-#define NR_CLKS	P_NR_CLKS
-
-enum {
-	PLL_0 = 0,
-	PLL_1,
-	PLL_2,
-	PLL_3,
-	PLL_4,
-	PLL_5,
-	PLL_6,
-	NUM_PLL
-};
-
-enum clkvote_client {
-	CLKVOTE_ACPUCLK = 0,
-	CLKVOTE_PMQOS,
-	CLKVOTE_MAX,
-};
-
-int msm_clock_require_tcxo(unsigned long *reason, int nbits);
-int msm_clock_get_name(uint32_t id, char *name, uint32_t size);
-int ebi1_clk_set_min_rate(enum clkvote_client client, unsigned long rate);
-unsigned long clk_get_max_axi_khz(void);
 
 #endif
-
diff --git a/arch/arm/mach-msm/devices-msm7x30.c b/arch/arm/mach-msm/devices-msm7x30.c
index d4c7afc..e430fdd 100644
--- a/arch/arm/mach-msm/devices-msm7x30.c
+++ b/arch/arm/mach-msm/devices-msm7x30.c
@@ -28,6 +28,7 @@
 #include <asm/mach/flash.h>
 
 #include "clock-pcom.h"
+#include "clock-7x30.h"
 
 #include <mach/mmc.h>
 
diff --git a/arch/arm/mach-msm/devices-qsd8x50.c b/arch/arm/mach-msm/devices-qsd8x50.c
index c9fa655..c5dad8f 100644
--- a/arch/arm/mach-msm/devices-qsd8x50.c
+++ b/arch/arm/mach-msm/devices-qsd8x50.c
@@ -27,6 +27,7 @@
 #include <asm/mach/flash.h>
 
 #include <mach/mmc.h>
+#include "clock-pcom.h"
 
 static struct resource resources_uart3[] = {
 	{
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 1/4] msm: clock: Remove unused code and definitions
@ 2011-01-25  3:45   ` Stephen Boyd
  0 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-25  3:45 UTC (permalink / raw)
  To: linux-arm-kernel

Remove dead code and push out clock-7x30.h and clock-pcom.h to
where they are actually used.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-msm/board-msm8x60.c   |    5 +---
 arch/arm/mach-msm/clock-pcom.c      |    1 +
 arch/arm/mach-msm/clock.c           |   21 ++--------------
 arch/arm/mach-msm/clock.h           |   45 -----------------------------------
 arch/arm/mach-msm/devices-msm7x30.c |    1 +
 arch/arm/mach-msm/devices-qsd8x50.c |    1 +
 6 files changed, 7 insertions(+), 67 deletions(-)

diff --git a/arch/arm/mach-msm/board-msm8x60.c b/arch/arm/mach-msm/board-msm8x60.c
index 9b5eb2b..e09c174 100644
--- a/arch/arm/mach-msm/board-msm8x60.c
+++ b/arch/arm/mach-msm/board-msm8x60.c
@@ -28,10 +28,7 @@
 #include <mach/board.h>
 #include <mach/msm_iomap.h>
 
-unsigned long clk_get_max_axi_khz(void)
-{
-	return 0;
-}
+#include "devices.h"
 
 static void __init msm8x60_map_io(void)
 {
diff --git a/arch/arm/mach-msm/clock-pcom.c b/arch/arm/mach-msm/clock-pcom.c
index a3b4562..8c4e867 100644
--- a/arch/arm/mach-msm/clock-pcom.c
+++ b/arch/arm/mach-msm/clock-pcom.c
@@ -20,6 +20,7 @@
 
 #include "proc_comm.h"
 #include "clock.h"
+#include "clock-pcom.h"
 
 /*
  * glue for the proc_comm interface
diff --git a/arch/arm/mach-msm/clock.c b/arch/arm/mach-msm/clock.c
index 2069bfa..8f71f8d 100644
--- a/arch/arm/mach-msm/clock.c
+++ b/arch/arm/mach-msm/clock.c
@@ -29,6 +29,7 @@
 #include "clock.h"
 #include "proc_comm.h"
 #include "clock-7x30.h"
+#include "clock-pcom.h"
 
 static DEFINE_MUTEX(clocks_mutex);
 static DEFINE_SPINLOCK(clocks_lock);
@@ -37,13 +38,6 @@ struct clk *msm_clocks;
 unsigned msm_num_clocks;
 
 /*
- * Bitmap of enabled clocks, excluding ACPU which is always
- * enabled
- */
-static DECLARE_BITMAP(clock_map_enabled, NR_CLKS);
-static DEFINE_SPINLOCK(clock_map_lock);
-
-/*
  * Standard clock functions defined in include/linux/clk.h
  */
 struct clk *clk_get(struct device *dev, const char *id)
@@ -77,12 +71,8 @@ int clk_enable(struct clk *clk)
 	unsigned long flags;
 	spin_lock_irqsave(&clocks_lock, flags);
 	clk->count++;
-	if (clk->count == 1) {
+	if (clk->count == 1)
 		clk->ops->enable(clk->id);
-		spin_lock(&clock_map_lock);
-		clock_map_enabled[BIT_WORD(clk->id)] |= BIT_MASK(clk->id);
-		spin_unlock(&clock_map_lock);
-	}
 	spin_unlock_irqrestore(&clocks_lock, flags);
 	return 0;
 }
@@ -94,12 +84,8 @@ void clk_disable(struct clk *clk)
 	spin_lock_irqsave(&clocks_lock, flags);
 	BUG_ON(clk->count == 0);
 	clk->count--;
-	if (clk->count == 0) {
+	if (clk->count == 0)
 		clk->ops->disable(clk->id);
-		spin_lock(&clock_map_lock);
-		clock_map_enabled[BIT_WORD(clk->id)] &= ~BIT_MASK(clk->id);
-		spin_unlock(&clock_map_lock);
-	}
 	spin_unlock_irqrestore(&clocks_lock, flags);
 }
 EXPORT_SYMBOL(clk_disable);
@@ -196,7 +182,6 @@ void __init msm_clock_init(struct clk *clock_tbl, unsigned num_clocks)
 {
 	unsigned n;
 
-	spin_lock_init(&clocks_lock);
 	mutex_lock(&clocks_mutex);
 	msm_clocks = clock_tbl;
 	msm_num_clocks = num_clocks;
diff --git a/arch/arm/mach-msm/clock.h b/arch/arm/mach-msm/clock.h
index c270b55..6a0cade 100644
--- a/arch/arm/mach-msm/clock.h
+++ b/arch/arm/mach-msm/clock.h
@@ -20,9 +20,6 @@
 #include <linux/list.h>
 #include <mach/clk.h>
 
-#include "clock-pcom.h"
-#include "clock-7x30.h"
-
 #define CLKFLAG_INVERT			0x00000001
 #define CLKFLAG_NOINVERT		0x00000002
 #define CLKFLAG_NONEST			0x00000004
@@ -59,51 +56,9 @@ struct clk {
 	struct device *dev;
 };
 
-#define A11S_CLK_CNTL_ADDR		(MSM_CSR_BASE + 0x100)
-#define A11S_CLK_SEL_ADDR		(MSM_CSR_BASE + 0x104)
-#define A11S_VDD_SVS_PLEVEL_ADDR	(MSM_CSR_BASE + 0x124)
-
-#ifdef CONFIG_DEBUG_FS
-#define CLOCK_DBG_NAME(x) .dbg_name = x,
-#else
-#define CLOCK_DBG_NAME(x)
-#endif
-
-#define CLOCK(clk_name, clk_id, clk_dev, clk_flags) {	\
-	.name = clk_name, \
-	.id = clk_id, \
-	.flags = clk_flags, \
-	.dev = clk_dev, \
-	 CLOCK_DBG_NAME(#clk_id) \
-	}
-
 #define OFF CLKFLAG_AUTO_OFF
 #define CLK_MIN CLKFLAG_MIN
 #define CLK_MAX CLKFLAG_MAX
 #define CLK_MINMAX (CLK_MIN | CLK_MAX)
-#define NR_CLKS	P_NR_CLKS
-
-enum {
-	PLL_0 = 0,
-	PLL_1,
-	PLL_2,
-	PLL_3,
-	PLL_4,
-	PLL_5,
-	PLL_6,
-	NUM_PLL
-};
-
-enum clkvote_client {
-	CLKVOTE_ACPUCLK = 0,
-	CLKVOTE_PMQOS,
-	CLKVOTE_MAX,
-};
-
-int msm_clock_require_tcxo(unsigned long *reason, int nbits);
-int msm_clock_get_name(uint32_t id, char *name, uint32_t size);
-int ebi1_clk_set_min_rate(enum clkvote_client client, unsigned long rate);
-unsigned long clk_get_max_axi_khz(void);
 
 #endif
-
diff --git a/arch/arm/mach-msm/devices-msm7x30.c b/arch/arm/mach-msm/devices-msm7x30.c
index d4c7afc..e430fdd 100644
--- a/arch/arm/mach-msm/devices-msm7x30.c
+++ b/arch/arm/mach-msm/devices-msm7x30.c
@@ -28,6 +28,7 @@
 #include <asm/mach/flash.h>
 
 #include "clock-pcom.h"
+#include "clock-7x30.h"
 
 #include <mach/mmc.h>
 
diff --git a/arch/arm/mach-msm/devices-qsd8x50.c b/arch/arm/mach-msm/devices-qsd8x50.c
index c9fa655..c5dad8f 100644
--- a/arch/arm/mach-msm/devices-qsd8x50.c
+++ b/arch/arm/mach-msm/devices-qsd8x50.c
@@ -27,6 +27,7 @@
 #include <asm/mach/flash.h>
 
 #include <mach/mmc.h>
+#include "clock-pcom.h"
 
 static struct resource resources_uart3[] = {
 	{
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 2/4] msm: clock: Move debugfs code from clock.c to clock-debug.c
  2011-01-25  3:45 ` Stephen Boyd
@ 2011-01-25  3:45   ` Stephen Boyd
  -1 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-25  3:45 UTC (permalink / raw)
  To: David Brown
  Cc: Saravana Kannan, Matt Wagantall, linux-kernel, linux-arm-msm,
	linux-arm-kernel

From: Matt Wagantall <mattw@codeaurora.org>

The clock debugfs code is large enough, and easy enough to separate,
that it deserves its own file which is compiled only when
CONFIG_DEBUG_FS is enabled.

Also, cleanup header file #includes that are no longer required.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-msm/Makefile      |    3 +
 arch/arm/mach-msm/clock-debug.c |  133 +++++++++++++++++++++++++++++++++++++++
 arch/arm/mach-msm/clock.c       |  127 ++-----------------------------------
 arch/arm/mach-msm/clock.h       |    9 +++
 4 files changed, 150 insertions(+), 122 deletions(-)
 create mode 100644 arch/arm/mach-msm/clock-debug.c

diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
index 0e5c9dc..c796441 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
@@ -1,4 +1,7 @@
 obj-y += io.o idle.o timer.o
+ifdef CONFIG_MSM_PROC_COMM
+obj-$(CONFIG_DEBUG_FS) += clock-debug.o
+endif
 
 obj-$(CONFIG_MSM_VIC) += irq-vic.o
 
diff --git a/arch/arm/mach-msm/clock-debug.c b/arch/arm/mach-msm/clock-debug.c
new file mode 100644
index 0000000..6f603ed
--- /dev/null
+++ b/arch/arm/mach-msm/clock-debug.c
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2007 Google, Inc.
+ * Copyright (c) 2007-2010, Code Aurora Forum. All rights reserved.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/ctype.h>
+#include <linux/debugfs.h>
+#include <linux/clk.h>
+#include "clock.h"
+#include "clock-pcom.h"
+
+static int clock_debug_rate_set(void *data, u64 val)
+{
+	struct clk *clock = data;
+	int ret;
+
+	/* Only increases to max rate will succeed, but that's actually good
+	 * for debugging purposes so we don't check for error. */
+	if (clock->flags & CLK_MAX)
+		clk_set_max_rate(clock, val);
+	if (clock->flags & CLK_MIN)
+		ret = clk_set_min_rate(clock, val);
+	else
+		ret = clk_set_rate(clock, val);
+	if (ret != 0)
+		printk(KERN_ERR "clk_set%s_rate failed (%d)\n",
+			(clock->flags & CLK_MIN) ? "_min" : "", ret);
+	return ret;
+}
+
+static int clock_debug_rate_get(void *data, u64 *val)
+{
+	struct clk *clock = data;
+	*val = clk_get_rate(clock);
+	return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(clock_rate_fops, clock_debug_rate_get,
+			clock_debug_rate_set, "%llu\n");
+
+static int clock_debug_enable_set(void *data, u64 val)
+{
+	struct clk *clock = data;
+	int rc = 0;
+
+	if (val)
+		rc = clock->ops->enable(clock->id);
+	else
+		clock->ops->disable(clock->id);
+
+	return rc;
+}
+
+static int clock_debug_enable_get(void *data, u64 *val)
+{
+	struct clk *clock = data;
+
+	*val = clock->ops->is_enabled(clock->id);
+
+	return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(clock_enable_fops, clock_debug_enable_get,
+			clock_debug_enable_set, "%llu\n");
+
+static int clock_debug_local_get(void *data, u64 *val)
+{
+	struct clk *clock = data;
+
+	*val = clock->ops != &clk_ops_pcom;
+
+	return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(clock_local_fops, clock_debug_local_get,
+			NULL, "%llu\n");
+
+static struct dentry *dent_rate, *dent_enable, *dent_local;
+
+int __init clock_debug_init(void)
+{
+	dent_rate = debugfs_create_dir("clk_rate", 0);
+	if (!dent_rate)
+		goto err;
+
+	dent_enable = debugfs_create_dir("clk_enable", 0);
+	if (!dent_enable)
+		goto err;
+
+	dent_local = debugfs_create_dir("clk_local", NULL);
+	if (!dent_local)
+		goto err;
+
+	return 0;
+err:
+	debugfs_remove(dent_local);
+	debugfs_remove(dent_enable);
+	debugfs_remove(dent_rate);
+	return -ENOMEM;
+}
+
+int __init clock_debug_add(struct clk *clock)
+{
+	char temp[50], *ptr;
+
+	if (!dent_rate || !dent_enable || !dent_local)
+		return -ENOMEM;
+
+	strncpy(temp, clock->dbg_name, ARRAY_SIZE(temp)-1);
+	for (ptr = temp; *ptr; ptr++)
+		*ptr = tolower(*ptr);
+
+	debugfs_create_file(temp, S_IRUGO | S_IWUSR, dent_rate,
+			    clock, &clock_rate_fops);
+	debugfs_create_file(temp, S_IRUGO | S_IWUSR, dent_enable,
+			    clock, &clock_enable_fops);
+	debugfs_create_file(temp, S_IRUGO, dent_local,
+			    clock, &clock_local_fops);
+
+	return 0;
+}
diff --git a/arch/arm/mach-msm/clock.c b/arch/arm/mach-msm/clock.c
index 8f71f8d..8c2b4dd 100644
--- a/arch/arm/mach-msm/clock.c
+++ b/arch/arm/mach-msm/clock.c
@@ -15,16 +15,10 @@
  */
 
 #include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/module.h>
 #include <linux/list.h>
 #include <linux/err.h>
-#include <linux/clk.h>
 #include <linux/spinlock.h>
-#include <linux/debugfs.h>
-#include <linux/ctype.h>
 #include <linux/pm_qos_params.h>
-#include <mach/clk.h>
 
 #include "clock.h"
 #include "proc_comm.h"
@@ -34,8 +28,6 @@
 static DEFINE_MUTEX(clocks_mutex);
 static DEFINE_SPINLOCK(clocks_lock);
 static LIST_HEAD(clocks);
-struct clk *msm_clocks;
-unsigned msm_num_clocks;
 
 /*
  * Standard clock functions defined in include/linux/clk.h
@@ -183,11 +175,9 @@ void __init msm_clock_init(struct clk *clock_tbl, unsigned num_clocks)
 	unsigned n;
 
 	mutex_lock(&clocks_mutex);
-	msm_clocks = clock_tbl;
-	msm_num_clocks = num_clocks;
-	for (n = 0; n < msm_num_clocks; n++) {
-		set_clock_ops(&msm_clocks[n]);
-		list_add_tail(&msm_clocks[n].list, &clocks);
+	for (n = 0; n < num_clocks; n++) {
+		set_clock_ops(&clock_tbl[n]);
+		list_add_tail(&clock_tbl[n].list, &clocks);
 	}
 	mutex_unlock(&clocks_mutex);
 
@@ -196,115 +186,6 @@ void __init msm_clock_init(struct clk *clock_tbl, unsigned num_clocks)
 
 }
 
-#if defined(CONFIG_DEBUG_FS)
-static struct clk *msm_clock_get_nth(unsigned index)
-{
-	if (index < msm_num_clocks)
-		return msm_clocks + index;
-	else
-		return 0;
-}
-
-static int clock_debug_rate_set(void *data, u64 val)
-{
-	struct clk *clock = data;
-	int ret;
-
-	/* Only increases to max rate will succeed, but that's actually good
-	 * for debugging purposes. So we don't check for error. */
-	if (clock->flags & CLK_MAX)
-		clk_set_max_rate(clock, val);
-	if (clock->flags & CLK_MIN)
-		ret = clk_set_min_rate(clock, val);
-	else
-		ret = clk_set_rate(clock, val);
-	if (ret != 0)
-		printk(KERN_ERR "clk_set%s_rate failed (%d)\n",
-			(clock->flags & CLK_MIN) ? "_min" : "", ret);
-	return ret;
-}
-
-static int clock_debug_rate_get(void *data, u64 *val)
-{
-	struct clk *clock = data;
-	*val = clk_get_rate(clock);
-	return 0;
-}
-
-static int clock_debug_enable_set(void *data, u64 val)
-{
-	struct clk *clock = data;
-	int rc = 0;
-
-	if (val)
-		rc = clock->ops->enable(clock->id);
-	else
-		clock->ops->disable(clock->id);
-
-	return rc;
-}
-
-static int clock_debug_enable_get(void *data, u64 *val)
-{
-	struct clk *clock = data;
-
-	*val = clock->ops->is_enabled(clock->id);
-
-	return 0;
-}
-
-static int clock_debug_local_get(void *data, u64 *val)
-{
-	struct clk *clock = data;
-
-	*val = clock->ops != &clk_ops_pcom;
-
-	return 0;
-}
-
-DEFINE_SIMPLE_ATTRIBUTE(clock_rate_fops, clock_debug_rate_get,
-			clock_debug_rate_set, "%llu\n");
-DEFINE_SIMPLE_ATTRIBUTE(clock_enable_fops, clock_debug_enable_get,
-			clock_debug_enable_set, "%llu\n");
-DEFINE_SIMPLE_ATTRIBUTE(clock_local_fops, clock_debug_local_get,
-			NULL, "%llu\n");
-
-static int __init clock_debug_init(void)
-{
-	struct dentry *dent_rate, *dent_enable, *dent_local;
-	struct clk *clock;
-	unsigned n = 0;
-	char temp[50], *ptr;
-
-	dent_rate = debugfs_create_dir("clk_rate", 0);
-	if (IS_ERR(dent_rate))
-		return PTR_ERR(dent_rate);
-
-	dent_enable = debugfs_create_dir("clk_enable", 0);
-	if (IS_ERR(dent_enable))
-		return PTR_ERR(dent_enable);
-
-	dent_local = debugfs_create_dir("clk_local", NULL);
-	if (IS_ERR(dent_local))
-		return PTR_ERR(dent_local);
-
-	while ((clock = msm_clock_get_nth(n++)) != 0) {
-		strncpy(temp, clock->dbg_name, ARRAY_SIZE(temp)-1);
-		for (ptr = temp; *ptr; ptr++)
-			*ptr = tolower(*ptr);
-		debugfs_create_file(temp, 0644, dent_rate,
-				    clock, &clock_rate_fops);
-		debugfs_create_file(temp, 0644, dent_enable,
-				    clock, &clock_enable_fops);
-		debugfs_create_file(temp, S_IRUGO, dent_local,
-				    clock, &clock_local_fops);
-	}
-	return 0;
-}
-
-device_initcall(clock_debug_init);
-#endif
-
 /* The bootloader and/or AMSS may have left various clocks enabled.
  * Disable any clocks that belong to us (CLKFLAG_AUTO_OFF) but have
  * not been explicitly enabled by a clk_enable() call.
@@ -315,8 +196,10 @@ static int __init clock_late_init(void)
 	struct clk *clk;
 	unsigned count = 0;
 
+	clock_debug_init();
 	mutex_lock(&clocks_mutex);
 	list_for_each_entry(clk, &clocks, list) {
+		clock_debug_add(clk);
 		if (clk->flags & CLKFLAG_AUTO_OFF) {
 			spin_lock_irqsave(&clocks_lock, flags);
 			if (!clk->count) {
diff --git a/arch/arm/mach-msm/clock.h b/arch/arm/mach-msm/clock.h
index 6a0cade..70216b0 100644
--- a/arch/arm/mach-msm/clock.h
+++ b/arch/arm/mach-msm/clock.h
@@ -17,6 +17,7 @@
 #ifndef __ARCH_ARM_MACH_MSM_CLOCK_H
 #define __ARCH_ARM_MACH_MSM_CLOCK_H
 
+#include <linux/init.h>
 #include <linux/list.h>
 #include <mach/clk.h>
 
@@ -61,4 +62,12 @@ struct clk {
 #define CLK_MAX CLKFLAG_MAX
 #define CLK_MINMAX (CLK_MIN | CLK_MAX)
 
+#ifdef CONFIG_DEBUG_FS
+int __init clock_debug_init(void);
+int __init clock_debug_add(struct clk *clock);
+#else
+static inline int __init clock_debug_init(void) { return 0; }
+static inline int __init clock_debug_add(struct clk *clock) { return 0; }
+#endif
+
 #endif
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 2/4] msm: clock: Move debugfs code from clock.c to clock-debug.c
@ 2011-01-25  3:45   ` Stephen Boyd
  0 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-25  3:45 UTC (permalink / raw)
  To: linux-arm-kernel

From: Matt Wagantall <mattw@codeaurora.org>

The clock debugfs code is large enough, and easy enough to separate,
that it deserves its own file which is compiled only when
CONFIG_DEBUG_FS is enabled.

Also, cleanup header file #includes that are no longer required.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-msm/Makefile      |    3 +
 arch/arm/mach-msm/clock-debug.c |  133 +++++++++++++++++++++++++++++++++++++++
 arch/arm/mach-msm/clock.c       |  127 ++-----------------------------------
 arch/arm/mach-msm/clock.h       |    9 +++
 4 files changed, 150 insertions(+), 122 deletions(-)
 create mode 100644 arch/arm/mach-msm/clock-debug.c

diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
index 0e5c9dc..c796441 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
@@ -1,4 +1,7 @@
 obj-y += io.o idle.o timer.o
+ifdef CONFIG_MSM_PROC_COMM
+obj-$(CONFIG_DEBUG_FS) += clock-debug.o
+endif
 
 obj-$(CONFIG_MSM_VIC) += irq-vic.o
 
diff --git a/arch/arm/mach-msm/clock-debug.c b/arch/arm/mach-msm/clock-debug.c
new file mode 100644
index 0000000..6f603ed
--- /dev/null
+++ b/arch/arm/mach-msm/clock-debug.c
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2007 Google, Inc.
+ * Copyright (c) 2007-2010, Code Aurora Forum. All rights reserved.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/ctype.h>
+#include <linux/debugfs.h>
+#include <linux/clk.h>
+#include "clock.h"
+#include "clock-pcom.h"
+
+static int clock_debug_rate_set(void *data, u64 val)
+{
+	struct clk *clock = data;
+	int ret;
+
+	/* Only increases to max rate will succeed, but that's actually good
+	 * for debugging purposes so we don't check for error. */
+	if (clock->flags & CLK_MAX)
+		clk_set_max_rate(clock, val);
+	if (clock->flags & CLK_MIN)
+		ret = clk_set_min_rate(clock, val);
+	else
+		ret = clk_set_rate(clock, val);
+	if (ret != 0)
+		printk(KERN_ERR "clk_set%s_rate failed (%d)\n",
+			(clock->flags & CLK_MIN) ? "_min" : "", ret);
+	return ret;
+}
+
+static int clock_debug_rate_get(void *data, u64 *val)
+{
+	struct clk *clock = data;
+	*val = clk_get_rate(clock);
+	return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(clock_rate_fops, clock_debug_rate_get,
+			clock_debug_rate_set, "%llu\n");
+
+static int clock_debug_enable_set(void *data, u64 val)
+{
+	struct clk *clock = data;
+	int rc = 0;
+
+	if (val)
+		rc = clock->ops->enable(clock->id);
+	else
+		clock->ops->disable(clock->id);
+
+	return rc;
+}
+
+static int clock_debug_enable_get(void *data, u64 *val)
+{
+	struct clk *clock = data;
+
+	*val = clock->ops->is_enabled(clock->id);
+
+	return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(clock_enable_fops, clock_debug_enable_get,
+			clock_debug_enable_set, "%llu\n");
+
+static int clock_debug_local_get(void *data, u64 *val)
+{
+	struct clk *clock = data;
+
+	*val = clock->ops != &clk_ops_pcom;
+
+	return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(clock_local_fops, clock_debug_local_get,
+			NULL, "%llu\n");
+
+static struct dentry *dent_rate, *dent_enable, *dent_local;
+
+int __init clock_debug_init(void)
+{
+	dent_rate = debugfs_create_dir("clk_rate", 0);
+	if (!dent_rate)
+		goto err;
+
+	dent_enable = debugfs_create_dir("clk_enable", 0);
+	if (!dent_enable)
+		goto err;
+
+	dent_local = debugfs_create_dir("clk_local", NULL);
+	if (!dent_local)
+		goto err;
+
+	return 0;
+err:
+	debugfs_remove(dent_local);
+	debugfs_remove(dent_enable);
+	debugfs_remove(dent_rate);
+	return -ENOMEM;
+}
+
+int __init clock_debug_add(struct clk *clock)
+{
+	char temp[50], *ptr;
+
+	if (!dent_rate || !dent_enable || !dent_local)
+		return -ENOMEM;
+
+	strncpy(temp, clock->dbg_name, ARRAY_SIZE(temp)-1);
+	for (ptr = temp; *ptr; ptr++)
+		*ptr = tolower(*ptr);
+
+	debugfs_create_file(temp, S_IRUGO | S_IWUSR, dent_rate,
+			    clock, &clock_rate_fops);
+	debugfs_create_file(temp, S_IRUGO | S_IWUSR, dent_enable,
+			    clock, &clock_enable_fops);
+	debugfs_create_file(temp, S_IRUGO, dent_local,
+			    clock, &clock_local_fops);
+
+	return 0;
+}
diff --git a/arch/arm/mach-msm/clock.c b/arch/arm/mach-msm/clock.c
index 8f71f8d..8c2b4dd 100644
--- a/arch/arm/mach-msm/clock.c
+++ b/arch/arm/mach-msm/clock.c
@@ -15,16 +15,10 @@
  */
 
 #include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/module.h>
 #include <linux/list.h>
 #include <linux/err.h>
-#include <linux/clk.h>
 #include <linux/spinlock.h>
-#include <linux/debugfs.h>
-#include <linux/ctype.h>
 #include <linux/pm_qos_params.h>
-#include <mach/clk.h>
 
 #include "clock.h"
 #include "proc_comm.h"
@@ -34,8 +28,6 @@
 static DEFINE_MUTEX(clocks_mutex);
 static DEFINE_SPINLOCK(clocks_lock);
 static LIST_HEAD(clocks);
-struct clk *msm_clocks;
-unsigned msm_num_clocks;
 
 /*
  * Standard clock functions defined in include/linux/clk.h
@@ -183,11 +175,9 @@ void __init msm_clock_init(struct clk *clock_tbl, unsigned num_clocks)
 	unsigned n;
 
 	mutex_lock(&clocks_mutex);
-	msm_clocks = clock_tbl;
-	msm_num_clocks = num_clocks;
-	for (n = 0; n < msm_num_clocks; n++) {
-		set_clock_ops(&msm_clocks[n]);
-		list_add_tail(&msm_clocks[n].list, &clocks);
+	for (n = 0; n < num_clocks; n++) {
+		set_clock_ops(&clock_tbl[n]);
+		list_add_tail(&clock_tbl[n].list, &clocks);
 	}
 	mutex_unlock(&clocks_mutex);
 
@@ -196,115 +186,6 @@ void __init msm_clock_init(struct clk *clock_tbl, unsigned num_clocks)
 
 }
 
-#if defined(CONFIG_DEBUG_FS)
-static struct clk *msm_clock_get_nth(unsigned index)
-{
-	if (index < msm_num_clocks)
-		return msm_clocks + index;
-	else
-		return 0;
-}
-
-static int clock_debug_rate_set(void *data, u64 val)
-{
-	struct clk *clock = data;
-	int ret;
-
-	/* Only increases to max rate will succeed, but that's actually good
-	 * for debugging purposes. So we don't check for error. */
-	if (clock->flags & CLK_MAX)
-		clk_set_max_rate(clock, val);
-	if (clock->flags & CLK_MIN)
-		ret = clk_set_min_rate(clock, val);
-	else
-		ret = clk_set_rate(clock, val);
-	if (ret != 0)
-		printk(KERN_ERR "clk_set%s_rate failed (%d)\n",
-			(clock->flags & CLK_MIN) ? "_min" : "", ret);
-	return ret;
-}
-
-static int clock_debug_rate_get(void *data, u64 *val)
-{
-	struct clk *clock = data;
-	*val = clk_get_rate(clock);
-	return 0;
-}
-
-static int clock_debug_enable_set(void *data, u64 val)
-{
-	struct clk *clock = data;
-	int rc = 0;
-
-	if (val)
-		rc = clock->ops->enable(clock->id);
-	else
-		clock->ops->disable(clock->id);
-
-	return rc;
-}
-
-static int clock_debug_enable_get(void *data, u64 *val)
-{
-	struct clk *clock = data;
-
-	*val = clock->ops->is_enabled(clock->id);
-
-	return 0;
-}
-
-static int clock_debug_local_get(void *data, u64 *val)
-{
-	struct clk *clock = data;
-
-	*val = clock->ops != &clk_ops_pcom;
-
-	return 0;
-}
-
-DEFINE_SIMPLE_ATTRIBUTE(clock_rate_fops, clock_debug_rate_get,
-			clock_debug_rate_set, "%llu\n");
-DEFINE_SIMPLE_ATTRIBUTE(clock_enable_fops, clock_debug_enable_get,
-			clock_debug_enable_set, "%llu\n");
-DEFINE_SIMPLE_ATTRIBUTE(clock_local_fops, clock_debug_local_get,
-			NULL, "%llu\n");
-
-static int __init clock_debug_init(void)
-{
-	struct dentry *dent_rate, *dent_enable, *dent_local;
-	struct clk *clock;
-	unsigned n = 0;
-	char temp[50], *ptr;
-
-	dent_rate = debugfs_create_dir("clk_rate", 0);
-	if (IS_ERR(dent_rate))
-		return PTR_ERR(dent_rate);
-
-	dent_enable = debugfs_create_dir("clk_enable", 0);
-	if (IS_ERR(dent_enable))
-		return PTR_ERR(dent_enable);
-
-	dent_local = debugfs_create_dir("clk_local", NULL);
-	if (IS_ERR(dent_local))
-		return PTR_ERR(dent_local);
-
-	while ((clock = msm_clock_get_nth(n++)) != 0) {
-		strncpy(temp, clock->dbg_name, ARRAY_SIZE(temp)-1);
-		for (ptr = temp; *ptr; ptr++)
-			*ptr = tolower(*ptr);
-		debugfs_create_file(temp, 0644, dent_rate,
-				    clock, &clock_rate_fops);
-		debugfs_create_file(temp, 0644, dent_enable,
-				    clock, &clock_enable_fops);
-		debugfs_create_file(temp, S_IRUGO, dent_local,
-				    clock, &clock_local_fops);
-	}
-	return 0;
-}
-
-device_initcall(clock_debug_init);
-#endif
-
 /* The bootloader and/or AMSS may have left various clocks enabled.
  * Disable any clocks that belong to us (CLKFLAG_AUTO_OFF) but have
  * not been explicitly enabled by a clk_enable() call.
@@ -315,8 +196,10 @@ static int __init clock_late_init(void)
 	struct clk *clk;
 	unsigned count = 0;
 
+	clock_debug_init();
 	mutex_lock(&clocks_mutex);
 	list_for_each_entry(clk, &clocks, list) {
+		clock_debug_add(clk);
 		if (clk->flags & CLKFLAG_AUTO_OFF) {
 			spin_lock_irqsave(&clocks_lock, flags);
 			if (!clk->count) {
diff --git a/arch/arm/mach-msm/clock.h b/arch/arm/mach-msm/clock.h
index 6a0cade..70216b0 100644
--- a/arch/arm/mach-msm/clock.h
+++ b/arch/arm/mach-msm/clock.h
@@ -17,6 +17,7 @@
 #ifndef __ARCH_ARM_MACH_MSM_CLOCK_H
 #define __ARCH_ARM_MACH_MSM_CLOCK_H
 
+#include <linux/init.h>
 #include <linux/list.h>
 #include <mach/clk.h>
 
@@ -61,4 +62,12 @@ struct clk {
 #define CLK_MAX CLKFLAG_MAX
 #define CLK_MINMAX (CLK_MIN | CLK_MAX)
 
+#ifdef CONFIG_DEBUG_FS
+int __init clock_debug_init(void);
+int __init clock_debug_add(struct clk *clock);
+#else
+static inline int __init clock_debug_init(void) { return 0; }
+static inline int __init clock_debug_add(struct clk *clock) { return 0; }
+#endif
+
 #endif
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 3/4] msm: clock: Invert debugfs directory layout
  2011-01-25  3:45 ` Stephen Boyd
@ 2011-01-25  3:45   ` Stephen Boyd
  -1 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-25  3:45 UTC (permalink / raw)
  To: David Brown
  Cc: Saravana Kannan, linux-kernel, linux-arm-msm, linux-arm-kernel

There are currently 3 separate directories for clock debugging in
debugfs: clk_enable, clk_rate, and clk_local. Each of these
directories contains a list of clocks. This is rather annoying
when you are focusing on one clock and want to enable/disable it
and then check its rate. You either have to cd to the other
directory or cat ../clk_rate/<clk>.

Invert the layout so that there is one clock directory containing
a directory for each clock. Inside each respective clock
directory place an enable, rate, and is_local file relating to
the clk_enable, clk_disable, and clk_local directories that exist
today.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-msm/clock-debug.c |   48 ++++++++++++++++++--------------------
 1 files changed, 23 insertions(+), 25 deletions(-)

diff --git a/arch/arm/mach-msm/clock-debug.c b/arch/arm/mach-msm/clock-debug.c
index 6f603ed..b67b9e82 100644
--- a/arch/arm/mach-msm/clock-debug.c
+++ b/arch/arm/mach-msm/clock-debug.c
@@ -87,47 +87,45 @@ static int clock_debug_local_get(void *data, u64 *val)
 DEFINE_SIMPLE_ATTRIBUTE(clock_local_fops, clock_debug_local_get,
 			NULL, "%llu\n");
 
-static struct dentry *dent_rate, *dent_enable, *dent_local;
+static struct dentry *debugfs_base;
 
 int __init clock_debug_init(void)
 {
-	dent_rate = debugfs_create_dir("clk_rate", 0);
-	if (!dent_rate)
-		goto err;
-
-	dent_enable = debugfs_create_dir("clk_enable", 0);
-	if (!dent_enable)
-		goto err;
-
-	dent_local = debugfs_create_dir("clk_local", NULL);
-	if (!dent_local)
-		goto err;
-
+	debugfs_base = debugfs_create_dir("clk", NULL);
+	if (!debugfs_base)
+		return -ENOMEM;
 	return 0;
-err:
-	debugfs_remove(dent_local);
-	debugfs_remove(dent_enable);
-	debugfs_remove(dent_rate);
-	return -ENOMEM;
 }
 
 int __init clock_debug_add(struct clk *clock)
 {
 	char temp[50], *ptr;
+	struct dentry *clk_dir;
 
-	if (!dent_rate || !dent_enable || !dent_local)
+	if (!debugfs_base)
 		return -ENOMEM;
 
 	strncpy(temp, clock->dbg_name, ARRAY_SIZE(temp)-1);
 	for (ptr = temp; *ptr; ptr++)
 		*ptr = tolower(*ptr);
 
-	debugfs_create_file(temp, S_IRUGO | S_IWUSR, dent_rate,
-			    clock, &clock_rate_fops);
-	debugfs_create_file(temp, S_IRUGO | S_IWUSR, dent_enable,
-			    clock, &clock_enable_fops);
-	debugfs_create_file(temp, S_IRUGO, dent_local,
-			    clock, &clock_local_fops);
+	clk_dir = debugfs_create_dir(temp, debugfs_base);
+	if (!clk_dir)
+		return -ENOMEM;
+
+	if (!debugfs_create_file("rate", S_IRUGO | S_IWUSR, clk_dir,
+				clock, &clock_rate_fops))
+		goto error;
 
+	if (!debugfs_create_file("enable", S_IRUGO | S_IWUSR, clk_dir,
+				clock, &clock_enable_fops))
+		goto error;
+
+	if (!debugfs_create_file("is_local", S_IRUGO, clk_dir, clock,
+				&clock_local_fops))
+		goto error;
 	return 0;
+error:
+	debugfs_remove_recursive(clk_dir);
+	return -ENOMEM;
 }
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 3/4] msm: clock: Invert debugfs directory layout
@ 2011-01-25  3:45   ` Stephen Boyd
  0 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-25  3:45 UTC (permalink / raw)
  To: linux-arm-kernel

There are currently 3 separate directories for clock debugging in
debugfs: clk_enable, clk_rate, and clk_local. Each of these
directories contains a list of clocks. This is rather annoying
when you are focusing on one clock and want to enable/disable it
and then check its rate. You either have to cd to the other
directory or cat ../clk_rate/<clk>.

Invert the layout so that there is one clock directory containing
a directory for each clock. Inside each respective clock
directory place an enable, rate, and is_local file relating to
the clk_enable, clk_disable, and clk_local directories that exist
today.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-msm/clock-debug.c |   48 ++++++++++++++++++--------------------
 1 files changed, 23 insertions(+), 25 deletions(-)

diff --git a/arch/arm/mach-msm/clock-debug.c b/arch/arm/mach-msm/clock-debug.c
index 6f603ed..b67b9e82 100644
--- a/arch/arm/mach-msm/clock-debug.c
+++ b/arch/arm/mach-msm/clock-debug.c
@@ -87,47 +87,45 @@ static int clock_debug_local_get(void *data, u64 *val)
 DEFINE_SIMPLE_ATTRIBUTE(clock_local_fops, clock_debug_local_get,
 			NULL, "%llu\n");
 
-static struct dentry *dent_rate, *dent_enable, *dent_local;
+static struct dentry *debugfs_base;
 
 int __init clock_debug_init(void)
 {
-	dent_rate = debugfs_create_dir("clk_rate", 0);
-	if (!dent_rate)
-		goto err;
-
-	dent_enable = debugfs_create_dir("clk_enable", 0);
-	if (!dent_enable)
-		goto err;
-
-	dent_local = debugfs_create_dir("clk_local", NULL);
-	if (!dent_local)
-		goto err;
-
+	debugfs_base = debugfs_create_dir("clk", NULL);
+	if (!debugfs_base)
+		return -ENOMEM;
 	return 0;
-err:
-	debugfs_remove(dent_local);
-	debugfs_remove(dent_enable);
-	debugfs_remove(dent_rate);
-	return -ENOMEM;
 }
 
 int __init clock_debug_add(struct clk *clock)
 {
 	char temp[50], *ptr;
+	struct dentry *clk_dir;
 
-	if (!dent_rate || !dent_enable || !dent_local)
+	if (!debugfs_base)
 		return -ENOMEM;
 
 	strncpy(temp, clock->dbg_name, ARRAY_SIZE(temp)-1);
 	for (ptr = temp; *ptr; ptr++)
 		*ptr = tolower(*ptr);
 
-	debugfs_create_file(temp, S_IRUGO | S_IWUSR, dent_rate,
-			    clock, &clock_rate_fops);
-	debugfs_create_file(temp, S_IRUGO | S_IWUSR, dent_enable,
-			    clock, &clock_enable_fops);
-	debugfs_create_file(temp, S_IRUGO, dent_local,
-			    clock, &clock_local_fops);
+	clk_dir = debugfs_create_dir(temp, debugfs_base);
+	if (!clk_dir)
+		return -ENOMEM;
+
+	if (!debugfs_create_file("rate", S_IRUGO | S_IWUSR, clk_dir,
+				clock, &clock_rate_fops))
+		goto error;
 
+	if (!debugfs_create_file("enable", S_IRUGO | S_IWUSR, clk_dir,
+				clock, &clock_enable_fops))
+		goto error;
+
+	if (!debugfs_create_file("is_local", S_IRUGO, clk_dir, clock,
+				&clock_local_fops))
+		goto error;
 	return 0;
+error:
+	debugfs_remove_recursive(clk_dir);
+	return -ENOMEM;
 }
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 4/4] msm: clock: Add support for more proc_comm clocks
  2011-01-25  3:45 ` Stephen Boyd
@ 2011-01-25  3:45   ` Stephen Boyd
  -1 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-25  3:45 UTC (permalink / raw)
  To: David Brown
  Cc: Saravana Kannan, linux-kernel, linux-arm-msm, linux-arm-kernel

Support the CE_CLK and CODEC_SSBI_CLK. Also add support for uart,
and i2c clocks on targets which support proc_comm clocks.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-msm/clock-pcom.h      |    4 +++-
 arch/arm/mach-msm/devices-msm7x30.c |    2 ++
 arch/arm/mach-msm/devices-qsd8x50.c |    6 ++++++
 3 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-msm/clock-pcom.h b/arch/arm/mach-msm/clock-pcom.h
index 17d027b..2c813f1 100644
--- a/arch/arm/mach-msm/clock-pcom.h
+++ b/arch/arm/mach-msm/clock-pcom.h
@@ -132,8 +132,10 @@
 #define P_CSI1_P_CLK		97
 #define P_GSBI_CLK		98
 #define P_GSBI_P_CLK		99
+#define P_CE_CLK		100 /* Crypto engine */
+#define P_CODEC_SSBI_CLK	101
 
-#define P_NR_CLKS		100
+#define P_NR_CLKS		102
 
 struct clk_ops;
 extern struct clk_ops clk_ops_pcom;
diff --git a/arch/arm/mach-msm/devices-msm7x30.c b/arch/arm/mach-msm/devices-msm7x30.c
index e430fdd..cd4343b 100644
--- a/arch/arm/mach-msm/devices-msm7x30.c
+++ b/arch/arm/mach-msm/devices-msm7x30.c
@@ -134,6 +134,8 @@ struct clk msm_clocks_7x30[] = {
 	CLK_PCOM("adsp_clk",	ADSP_CLK,	NULL, 0),
 	CLK_PCOM("cam_m_clk",	CAM_M_CLK,	NULL, 0),
 	CLK_PCOM("camif_pad_pclk",	CAMIF_PAD_P_CLK,	NULL, OFF),
+	CLK_PCOM("ce_clk",	CE_CLK,	NULL, 0),
+	CLK_PCOM("codec_ssbi_clk",	CODEC_SSBI_CLK,	NULL, 0),
 	CLK_PCOM("ebi1_clk",	EBI1_CLK,	NULL, CLK_MIN),
 	CLK_PCOM("ecodec_clk",	ECODEC_CLK,	NULL, 0),
 	CLK_PCOM("emdh_clk",	EMDH_CLK,	NULL, OFF | CLK_MINMAX),
diff --git a/arch/arm/mach-msm/devices-qsd8x50.c b/arch/arm/mach-msm/devices-qsd8x50.c
index c5dad8f..bd545f9 100644
--- a/arch/arm/mach-msm/devices-qsd8x50.c
+++ b/arch/arm/mach-msm/devices-qsd8x50.c
@@ -316,12 +316,14 @@ int __init msm_add_sdcc(unsigned int controller,
 
 struct clk msm_clocks_8x50[] = {
 	CLK_PCOM("adm_clk",	ADM_CLK,	NULL, 0),
+	CLK_PCOM("ce_clk",	CE_CLK,		NULL, 0),
 	CLK_PCOM("ebi1_clk",	EBI1_CLK,	NULL, CLK_MIN),
 	CLK_PCOM("ebi2_clk",	EBI2_CLK,	NULL, 0),
 	CLK_PCOM("ecodec_clk",	ECODEC_CLK,	NULL, 0),
 	CLK_PCOM("emdh_clk",	EMDH_CLK,	NULL, OFF | CLK_MINMAX),
 	CLK_PCOM("gp_clk",	GP_CLK,		NULL, 0),
 	CLK_PCOM("grp_clk",	GRP_3D_CLK,	NULL, 0),
+	CLK_PCOM("i2c_clk",	I2C_CLK,	NULL, 0),
 	CLK_PCOM("icodec_rx_clk",	ICODEC_RX_CLK,	NULL, 0),
 	CLK_PCOM("icodec_tx_clk",	ICODEC_TX_CLK,	NULL, 0),
 	CLK_PCOM("imem_clk",	IMEM_CLK,	NULL, OFF),
@@ -347,7 +349,11 @@ struct clk msm_clocks_8x50[] = {
 	CLK_PCOM("tsif_ref_clk",	TSIF_REF_CLK,	NULL, 0),
 	CLK_PCOM("tv_dac_clk",	TV_DAC_CLK,	NULL, 0),
 	CLK_PCOM("tv_enc_clk",	TV_ENC_CLK,	NULL, 0),
+	CLK_PCOM("uart_clk",	UART1_CLK,	NULL, OFF),
+	CLK_PCOM("uart_clk",	UART2_CLK,	NULL, 0),
 	CLK_PCOM("uart_clk",	UART3_CLK,	&msm_device_uart3.dev, OFF),
+	CLK_PCOM("uartdm_clk",	UART1DM_CLK,	NULL, OFF),
+	CLK_PCOM("uartdm_clk",	UART2DM_CLK,	NULL, 0),
 	CLK_PCOM("usb_hs_clk",	USB_HS_CLK,	NULL, OFF),
 	CLK_PCOM("usb_hs_pclk",	USB_HS_P_CLK,	NULL, OFF),
 	CLK_PCOM("usb_otg_clk",	USB_OTG_CLK,	NULL, 0),
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 4/4] msm: clock: Add support for more proc_comm clocks
@ 2011-01-25  3:45   ` Stephen Boyd
  0 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-25  3:45 UTC (permalink / raw)
  To: linux-arm-kernel

Support the CE_CLK and CODEC_SSBI_CLK. Also add support for uart,
and i2c clocks on targets which support proc_comm clocks.

Reviewed-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-msm/clock-pcom.h      |    4 +++-
 arch/arm/mach-msm/devices-msm7x30.c |    2 ++
 arch/arm/mach-msm/devices-qsd8x50.c |    6 ++++++
 3 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-msm/clock-pcom.h b/arch/arm/mach-msm/clock-pcom.h
index 17d027b..2c813f1 100644
--- a/arch/arm/mach-msm/clock-pcom.h
+++ b/arch/arm/mach-msm/clock-pcom.h
@@ -132,8 +132,10 @@
 #define P_CSI1_P_CLK		97
 #define P_GSBI_CLK		98
 #define P_GSBI_P_CLK		99
+#define P_CE_CLK		100 /* Crypto engine */
+#define P_CODEC_SSBI_CLK	101
 
-#define P_NR_CLKS		100
+#define P_NR_CLKS		102
 
 struct clk_ops;
 extern struct clk_ops clk_ops_pcom;
diff --git a/arch/arm/mach-msm/devices-msm7x30.c b/arch/arm/mach-msm/devices-msm7x30.c
index e430fdd..cd4343b 100644
--- a/arch/arm/mach-msm/devices-msm7x30.c
+++ b/arch/arm/mach-msm/devices-msm7x30.c
@@ -134,6 +134,8 @@ struct clk msm_clocks_7x30[] = {
 	CLK_PCOM("adsp_clk",	ADSP_CLK,	NULL, 0),
 	CLK_PCOM("cam_m_clk",	CAM_M_CLK,	NULL, 0),
 	CLK_PCOM("camif_pad_pclk",	CAMIF_PAD_P_CLK,	NULL, OFF),
+	CLK_PCOM("ce_clk",	CE_CLK,	NULL, 0),
+	CLK_PCOM("codec_ssbi_clk",	CODEC_SSBI_CLK,	NULL, 0),
 	CLK_PCOM("ebi1_clk",	EBI1_CLK,	NULL, CLK_MIN),
 	CLK_PCOM("ecodec_clk",	ECODEC_CLK,	NULL, 0),
 	CLK_PCOM("emdh_clk",	EMDH_CLK,	NULL, OFF | CLK_MINMAX),
diff --git a/arch/arm/mach-msm/devices-qsd8x50.c b/arch/arm/mach-msm/devices-qsd8x50.c
index c5dad8f..bd545f9 100644
--- a/arch/arm/mach-msm/devices-qsd8x50.c
+++ b/arch/arm/mach-msm/devices-qsd8x50.c
@@ -316,12 +316,14 @@ int __init msm_add_sdcc(unsigned int controller,
 
 struct clk msm_clocks_8x50[] = {
 	CLK_PCOM("adm_clk",	ADM_CLK,	NULL, 0),
+	CLK_PCOM("ce_clk",	CE_CLK,		NULL, 0),
 	CLK_PCOM("ebi1_clk",	EBI1_CLK,	NULL, CLK_MIN),
 	CLK_PCOM("ebi2_clk",	EBI2_CLK,	NULL, 0),
 	CLK_PCOM("ecodec_clk",	ECODEC_CLK,	NULL, 0),
 	CLK_PCOM("emdh_clk",	EMDH_CLK,	NULL, OFF | CLK_MINMAX),
 	CLK_PCOM("gp_clk",	GP_CLK,		NULL, 0),
 	CLK_PCOM("grp_clk",	GRP_3D_CLK,	NULL, 0),
+	CLK_PCOM("i2c_clk",	I2C_CLK,	NULL, 0),
 	CLK_PCOM("icodec_rx_clk",	ICODEC_RX_CLK,	NULL, 0),
 	CLK_PCOM("icodec_tx_clk",	ICODEC_TX_CLK,	NULL, 0),
 	CLK_PCOM("imem_clk",	IMEM_CLK,	NULL, OFF),
@@ -347,7 +349,11 @@ struct clk msm_clocks_8x50[] = {
 	CLK_PCOM("tsif_ref_clk",	TSIF_REF_CLK,	NULL, 0),
 	CLK_PCOM("tv_dac_clk",	TV_DAC_CLK,	NULL, 0),
 	CLK_PCOM("tv_enc_clk",	TV_ENC_CLK,	NULL, 0),
+	CLK_PCOM("uart_clk",	UART1_CLK,	NULL, OFF),
+	CLK_PCOM("uart_clk",	UART2_CLK,	NULL, 0),
 	CLK_PCOM("uart_clk",	UART3_CLK,	&msm_device_uart3.dev, OFF),
+	CLK_PCOM("uartdm_clk",	UART1DM_CLK,	NULL, OFF),
+	CLK_PCOM("uartdm_clk",	UART2DM_CLK,	NULL, 0),
 	CLK_PCOM("usb_hs_clk",	USB_HS_CLK,	NULL, OFF),
 	CLK_PCOM("usb_hs_pclk",	USB_HS_P_CLK,	NULL, OFF),
 	CLK_PCOM("usb_otg_clk",	USB_OTG_CLK,	NULL, 0),
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* Re: [PATCH 1/4] msm: clock: Remove unused code and definitions
  2011-01-25  3:45   ` Stephen Boyd
@ 2011-01-25 21:38     ` Daniel Walker
  -1 siblings, 0 replies; 28+ messages in thread
From: Daniel Walker @ 2011-01-25 21:38 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: David Brown, Saravana Kannan, linux-kernel, linux-arm-msm,
	linux-arm-kernel

On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
> Remove dead code and push out clock-7x30.h and clock-pcom.h to
> where they are actually used.
> 

I'd do two patches for this. The stuff your doing is too disconnected.

Daniel

-- 

Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 1/4] msm: clock: Remove unused code and definitions
@ 2011-01-25 21:38     ` Daniel Walker
  0 siblings, 0 replies; 28+ messages in thread
From: Daniel Walker @ 2011-01-25 21:38 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
> Remove dead code and push out clock-7x30.h and clock-pcom.h to
> where they are actually used.
> 

I'd do two patches for this. The stuff your doing is too disconnected.

Daniel

-- 

Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 1/4] msm: clock: Remove unused code and definitions
  2011-01-25 21:38     ` Daniel Walker
@ 2011-01-25 21:52       ` Saravana Kannan
  -1 siblings, 0 replies; 28+ messages in thread
From: Saravana Kannan @ 2011-01-25 21:52 UTC (permalink / raw)
  To: Daniel Walker
  Cc: Stephen Boyd, David Brown, linux-kernel, linux-arm-msm, linux-arm-kernel

On 01/25/2011 01:38 PM, Daniel Walker wrote:
> On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
>> Remove dead code and push out clock-7x30.h and clock-pcom.h to
>> where they are actually used.
>>
>
> I'd do two patches for this. The stuff your doing is too disconnected.
>
> Daniel
>
There is a whole bunch of unused code in the clock files and it's being 
deleted. I don't see a point of splitting it up per file.

-Saravana

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 1/4] msm: clock: Remove unused code and definitions
@ 2011-01-25 21:52       ` Saravana Kannan
  0 siblings, 0 replies; 28+ messages in thread
From: Saravana Kannan @ 2011-01-25 21:52 UTC (permalink / raw)
  To: linux-arm-kernel

On 01/25/2011 01:38 PM, Daniel Walker wrote:
> On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
>> Remove dead code and push out clock-7x30.h and clock-pcom.h to
>> where they are actually used.
>>
>
> I'd do two patches for this. The stuff your doing is too disconnected.
>
> Daniel
>
There is a whole bunch of unused code in the clock files and it's being 
deleted. I don't see a point of splitting it up per file.

-Saravana

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] msm: clock: Add support for more proc_comm clocks
  2011-01-25  3:45   ` Stephen Boyd
@ 2011-01-25 21:58     ` Daniel Walker
  -1 siblings, 0 replies; 28+ messages in thread
From: Daniel Walker @ 2011-01-25 21:58 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: David Brown, Saravana Kannan, linux-kernel, linux-arm-msm,
	linux-arm-kernel

On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
> Support the CE_CLK and CODEC_SSBI_CLK. Also add support for uart,
> and i2c clocks on targets which support proc_comm clocks.

Basically when you catch yourself writing "also" in the commit text you
need to re-evaluate making two patches.. In this case it looks
appropriate..

I'd do CE_CLK and CODEC_SSBI_CLK in one, with the increment for the
number of clocks, and adding those two clocks.

Then the rest of it I'm not sure. If it was me I'd break out uart and
i2c in different patches but that might be overkill.

Daniel

-- 

Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 4/4] msm: clock: Add support for more proc_comm clocks
@ 2011-01-25 21:58     ` Daniel Walker
  0 siblings, 0 replies; 28+ messages in thread
From: Daniel Walker @ 2011-01-25 21:58 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
> Support the CE_CLK and CODEC_SSBI_CLK. Also add support for uart,
> and i2c clocks on targets which support proc_comm clocks.

Basically when you catch yourself writing "also" in the commit text you
need to re-evaluate making two patches.. In this case it looks
appropriate..

I'd do CE_CLK and CODEC_SSBI_CLK in one, with the increment for the
number of clocks, and adding those two clocks.

Then the rest of it I'm not sure. If it was me I'd break out uart and
i2c in different patches but that might be overkill.

Daniel

-- 

Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 1/4] msm: clock: Remove unused code and definitions
  2011-01-25 21:52       ` Saravana Kannan
@ 2011-01-25 22:02         ` Daniel Walker
  -1 siblings, 0 replies; 28+ messages in thread
From: Daniel Walker @ 2011-01-25 22:02 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Stephen Boyd, David Brown, linux-kernel, linux-arm-msm, linux-arm-kernel

On Tue, 2011-01-25 at 13:52 -0800, Saravana Kannan wrote:
> On 01/25/2011 01:38 PM, Daniel Walker wrote:
> > On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
> >> Remove dead code and push out clock-7x30.h and clock-pcom.h to
> >> where they are actually used.
> >>
> >
> > I'd do two patches for this. The stuff your doing is too disconnected.
> >
> > Daniel
> >
> There is a whole bunch of unused code in the clock files and it's being 
> deleted. I don't see a point of splitting it up per file.

It's easier to review when changes aren't merged that don't related to
each other.

Daniel


-- 

Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 1/4] msm: clock: Remove unused code and definitions
@ 2011-01-25 22:02         ` Daniel Walker
  0 siblings, 0 replies; 28+ messages in thread
From: Daniel Walker @ 2011-01-25 22:02 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, 2011-01-25 at 13:52 -0800, Saravana Kannan wrote:
> On 01/25/2011 01:38 PM, Daniel Walker wrote:
> > On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
> >> Remove dead code and push out clock-7x30.h and clock-pcom.h to
> >> where they are actually used.
> >>
> >
> > I'd do two patches for this. The stuff your doing is too disconnected.
> >
> > Daniel
> >
> There is a whole bunch of unused code in the clock files and it's being 
> deleted. I don't see a point of splitting it up per file.

It's easier to review when changes aren't merged that don't related to
each other.

Daniel


-- 

Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 1/4] msm: clock: Remove unused code and definitions
  2011-01-25 22:02         ` Daniel Walker
@ 2011-01-26 22:01           ` David Brown
  -1 siblings, 0 replies; 28+ messages in thread
From: David Brown @ 2011-01-26 22:01 UTC (permalink / raw)
  To: Daniel Walker
  Cc: Saravana Kannan, Stephen Boyd, linux-kernel, linux-arm-msm,
	linux-arm-kernel

On Tue, Jan 25 2011, Daniel Walker wrote:

> On Tue, 2011-01-25 at 13:52 -0800, Saravana Kannan wrote:
>> On 01/25/2011 01:38 PM, Daniel Walker wrote:
>> > On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
>> >> Remove dead code and push out clock-7x30.h and clock-pcom.h to
>> >> where they are actually used.
>> >>
>> >
>> > I'd do two patches for this. The stuff your doing is too disconnected.
>> >
>> > Daniel
>> >
>> There is a whole bunch of unused code in the clock files and it's being 
>> deleted. I don't see a point of splitting it up per file.
>
> It's easier to review when changes aren't merged that don't related to
> each other.

In this particular case, the patch is a bunch of removal of dead code,
and kind of makes sense to keep it together.  I'm fine with it as is.

David Brown

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 1/4] msm: clock: Remove unused code and definitions
@ 2011-01-26 22:01           ` David Brown
  0 siblings, 0 replies; 28+ messages in thread
From: David Brown @ 2011-01-26 22:01 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jan 25 2011, Daniel Walker wrote:

> On Tue, 2011-01-25 at 13:52 -0800, Saravana Kannan wrote:
>> On 01/25/2011 01:38 PM, Daniel Walker wrote:
>> > On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
>> >> Remove dead code and push out clock-7x30.h and clock-pcom.h to
>> >> where they are actually used.
>> >>
>> >
>> > I'd do two patches for this. The stuff your doing is too disconnected.
>> >
>> > Daniel
>> >
>> There is a whole bunch of unused code in the clock files and it's being 
>> deleted. I don't see a point of splitting it up per file.
>
> It's easier to review when changes aren't merged that don't related to
> each other.

In this particular case, the patch is a bunch of removal of dead code,
and kind of makes sense to keep it together.  I'm fine with it as is.

David Brown

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 1/4] msm: clock: Remove unused code and definitions
  2011-01-26 22:01           ` David Brown
@ 2011-01-26 22:03             ` Daniel Walker
  -1 siblings, 0 replies; 28+ messages in thread
From: Daniel Walker @ 2011-01-26 22:03 UTC (permalink / raw)
  To: David Brown
  Cc: Saravana Kannan, Stephen Boyd, linux-kernel, linux-arm-msm,
	linux-arm-kernel

On Wed, 2011-01-26 at 14:01 -0800, David Brown wrote:
> On Tue, Jan 25 2011, Daniel Walker wrote:
> 
> > On Tue, 2011-01-25 at 13:52 -0800, Saravana Kannan wrote:
> >> On 01/25/2011 01:38 PM, Daniel Walker wrote:
> >> > On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
> >> >> Remove dead code and push out clock-7x30.h and clock-pcom.h to
> >> >> where they are actually used.
> >> >>
> >> >
> >> > I'd do two patches for this. The stuff your doing is too disconnected.
> >> >
> >> > Daniel
> >> >
> >> There is a whole bunch of unused code in the clock files and it's being 
> >> deleted. I don't see a point of splitting it up per file.
> >
> > It's easier to review when changes aren't merged that don't related to
> > each other.
> 
> In this particular case, the patch is a bunch of removal of dead code,
> and kind of makes sense to keep it together.  I'm fine with it as is.

He's adding stuff too .. So it's not _just_ removal which is what I was
getting at.

Daniel

-- 

Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 1/4] msm: clock: Remove unused code and definitions
@ 2011-01-26 22:03             ` Daniel Walker
  0 siblings, 0 replies; 28+ messages in thread
From: Daniel Walker @ 2011-01-26 22:03 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 2011-01-26 at 14:01 -0800, David Brown wrote:
> On Tue, Jan 25 2011, Daniel Walker wrote:
> 
> > On Tue, 2011-01-25 at 13:52 -0800, Saravana Kannan wrote:
> >> On 01/25/2011 01:38 PM, Daniel Walker wrote:
> >> > On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
> >> >> Remove dead code and push out clock-7x30.h and clock-pcom.h to
> >> >> where they are actually used.
> >> >>
> >> >
> >> > I'd do two patches for this. The stuff your doing is too disconnected.
> >> >
> >> > Daniel
> >> >
> >> There is a whole bunch of unused code in the clock files and it's being 
> >> deleted. I don't see a point of splitting it up per file.
> >
> > It's easier to review when changes aren't merged that don't related to
> > each other.
> 
> In this particular case, the patch is a bunch of removal of dead code,
> and kind of makes sense to keep it together.  I'm fine with it as is.

He's adding stuff too .. So it's not _just_ removal which is what I was
getting at.

Daniel

-- 

Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] msm: clock: Add support for more proc_comm clocks
  2011-01-25 21:58     ` Daniel Walker
@ 2011-01-26 22:03       ` David Brown
  -1 siblings, 0 replies; 28+ messages in thread
From: David Brown @ 2011-01-26 22:03 UTC (permalink / raw)
  To: Daniel Walker
  Cc: Stephen Boyd, Saravana Kannan, linux-kernel, linux-arm-msm,
	linux-arm-kernel

On Tue, Jan 25 2011, Daniel Walker wrote:

> On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
>> Support the CE_CLK and CODEC_SSBI_CLK. Also add support for uart,
>> and i2c clocks on targets which support proc_comm clocks.
>
> Basically when you catch yourself writing "also" in the commit text you
> need to re-evaluate making two patches.. In this case it looks
> appropriate..

Or it is just an argument to not use the word also in the commit text.
I don't think it's really necessary to split up a patch that adds a few
clocks to the clock table.

David

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 4/4] msm: clock: Add support for more proc_comm clocks
@ 2011-01-26 22:03       ` David Brown
  0 siblings, 0 replies; 28+ messages in thread
From: David Brown @ 2011-01-26 22:03 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jan 25 2011, Daniel Walker wrote:

> On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
>> Support the CE_CLK and CODEC_SSBI_CLK. Also add support for uart,
>> and i2c clocks on targets which support proc_comm clocks.
>
> Basically when you catch yourself writing "also" in the commit text you
> need to re-evaluate making two patches.. In this case it looks
> appropriate..

Or it is just an argument to not use the word also in the commit text.
I don't think it's really necessary to split up a patch that adds a few
clocks to the clock table.

David

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 4/4] msm: clock: Add support for more proc_comm clocks
  2011-01-26 22:03       ` David Brown
@ 2011-01-26 22:04         ` Daniel Walker
  -1 siblings, 0 replies; 28+ messages in thread
From: Daniel Walker @ 2011-01-26 22:04 UTC (permalink / raw)
  To: David Brown
  Cc: Stephen Boyd, Saravana Kannan, linux-kernel, linux-arm-msm,
	linux-arm-kernel

On Wed, 2011-01-26 at 14:03 -0800, David Brown wrote:
> On Tue, Jan 25 2011, Daniel Walker wrote:
> 
> > On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
> >> Support the CE_CLK and CODEC_SSBI_CLK. Also add support for uart,
> >> and i2c clocks on targets which support proc_comm clocks.
> >
> > Basically when you catch yourself writing "also" in the commit text you
> > need to re-evaluate making two patches.. In this case it looks
> > appropriate..
> 
> Or it is just an argument to not use the word also in the commit text.
> I don't think it's really necessary to split up a patch that adds a few
> clocks to the clock table.

This one it actually makes a lot of sense to break it up. He's doing
some very different things here all in the same patch ..

Daniel


-- 

Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 4/4] msm: clock: Add support for more proc_comm clocks
@ 2011-01-26 22:04         ` Daniel Walker
  0 siblings, 0 replies; 28+ messages in thread
From: Daniel Walker @ 2011-01-26 22:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 2011-01-26 at 14:03 -0800, David Brown wrote:
> On Tue, Jan 25 2011, Daniel Walker wrote:
> 
> > On Mon, 2011-01-24 at 19:45 -0800, Stephen Boyd wrote:
> >> Support the CE_CLK and CODEC_SSBI_CLK. Also add support for uart,
> >> and i2c clocks on targets which support proc_comm clocks.
> >
> > Basically when you catch yourself writing "also" in the commit text you
> > need to re-evaluate making two patches.. In this case it looks
> > appropriate..
> 
> Or it is just an argument to not use the word also in the commit text.
> I don't think it's really necessary to split up a patch that adds a few
> clocks to the clock table.

This one it actually makes a lot of sense to break it up. He's doing
some very different things here all in the same patch ..

Daniel


-- 

Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 1/4] msm: clock: Remove unused code and definitions
  2011-01-26 22:03             ` Daniel Walker
@ 2011-01-26 22:50               ` Stephen Boyd
  -1 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-26 22:50 UTC (permalink / raw)
  To: Daniel Walker
  Cc: David Brown, Saravana Kannan, linux-kernel, linux-arm-msm,
	linux-arm-kernel

On 01/26/2011 02:03 PM, Daniel Walker wrote:
>
> He's adding stuff too .. So it's not _just_ removal which is what I was
> getting at.

I'll split this, no worries.

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 1/4] msm: clock: Remove unused code and definitions
@ 2011-01-26 22:50               ` Stephen Boyd
  0 siblings, 0 replies; 28+ messages in thread
From: Stephen Boyd @ 2011-01-26 22:50 UTC (permalink / raw)
  To: linux-arm-kernel

On 01/26/2011 02:03 PM, Daniel Walker wrote:
>
> He's adding stuff too .. So it's not _just_ removal which is what I was
> getting at.

I'll split this, no worries.

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2011-01-26 22:50 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-25  3:45 [PATCH 0/4] MSM: clock debugfs and cleanups Stephen Boyd
2011-01-25  3:45 ` Stephen Boyd
2011-01-25  3:45 ` [PATCH 1/4] msm: clock: Remove unused code and definitions Stephen Boyd
2011-01-25  3:45   ` Stephen Boyd
2011-01-25 21:38   ` Daniel Walker
2011-01-25 21:38     ` Daniel Walker
2011-01-25 21:52     ` Saravana Kannan
2011-01-25 21:52       ` Saravana Kannan
2011-01-25 22:02       ` Daniel Walker
2011-01-25 22:02         ` Daniel Walker
2011-01-26 22:01         ` David Brown
2011-01-26 22:01           ` David Brown
2011-01-26 22:03           ` Daniel Walker
2011-01-26 22:03             ` Daniel Walker
2011-01-26 22:50             ` Stephen Boyd
2011-01-26 22:50               ` Stephen Boyd
2011-01-25  3:45 ` [PATCH 2/4] msm: clock: Move debugfs code from clock.c to clock-debug.c Stephen Boyd
2011-01-25  3:45   ` Stephen Boyd
2011-01-25  3:45 ` [PATCH 3/4] msm: clock: Invert debugfs directory layout Stephen Boyd
2011-01-25  3:45   ` Stephen Boyd
2011-01-25  3:45 ` [PATCH 4/4] msm: clock: Add support for more proc_comm clocks Stephen Boyd
2011-01-25  3:45   ` Stephen Boyd
2011-01-25 21:58   ` Daniel Walker
2011-01-25 21:58     ` Daniel Walker
2011-01-26 22:03     ` David Brown
2011-01-26 22:03       ` David Brown
2011-01-26 22:04       ` Daniel Walker
2011-01-26 22:04         ` Daniel Walker

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.