Re: [PATCH 5/5] ARM: OMAP2/3: clockdomain/PRM/CM: move the low-level clockdomain functions into PRM/CM

2012-10-18 Thread Rajendra Nayak

On Tuesday 16 October 2012 04:35 AM, Paul Walmsley wrote:

Move the low-level SoC-specific clockdomain control functions into
cm*.c and prm*.c.  For example, OMAP2xxx low-level clockdomain
functions go into cm2xxx.c.  Then remove the unnecessary
clockdomain*xxx*.c files.

The objective is to centralize low-level CM and PRM register accesses
into the cm*.[ch] and prm*.[ch] files, and then to export an OMAP
SoC-independent API to higher-level OMAP power management code.

Signed-off-by: Paul Walmsley p...@pwsan.com
Cc: Rajendra Nayak rna...@ti.com


Acked-by: Rajendra Nayak rna...@ti.com


Cc: Vaibhav Hiremath hvaib...@ti.com
---
  arch/arm/mach-omap2/Makefile   |5
  arch/arm/mach-omap2/clockdomain2xxx_3xxx.c |  340 
  arch/arm/mach-omap2/clockdomain33xx.c  |   74 --
  arch/arm/mach-omap2/clockdomain44xx.c  |  151 
  arch/arm/mach-omap2/cm2xxx.c   |   86 +++
  arch/arm/mach-omap2/cm2xxx_3xxx.h  |   12 +
  arch/arm/mach-omap2/cm33xx.c   |   56 +
  arch/arm/mach-omap2/cm3xxx.c   |  169 ++
  arch/arm/mach-omap2/cminst44xx.c   |  139 +++
  arch/arm/mach-omap2/prm2xxx.c  |   17 +
  arch/arm/mach-omap2/prm2xxx.h  |6
  arch/arm/mach-omap2/prm2xxx_3xxx.c |   43 
  arch/arm/mach-omap2/prm2xxx_3xxx.h |8 +
  13 files changed, 536 insertions(+), 570 deletions(-)
  delete mode 100644 arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
  delete mode 100644 arch/arm/mach-omap2/clockdomain33xx.c
  delete mode 100644 arch/arm/mach-omap2/clockdomain44xx.c

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 56a3386..3751d56 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -133,22 +133,17 @@ obj-$(CONFIG_SOC_OMAP5)   += 
$(powerdomain-common)
  # PRCM clockdomain control
  clockdomain-common+= clockdomain.o
  obj-$(CONFIG_ARCH_OMAP2)  += $(clockdomain-common)
-obj-$(CONFIG_ARCH_OMAP2)   += clockdomain2xxx_3xxx.o
  obj-$(CONFIG_ARCH_OMAP2)  += clockdomains2xxx_3xxx_data.o
  obj-$(CONFIG_SOC_OMAP2420)+= clockdomains2420_data.o
  obj-$(CONFIG_SOC_OMAP2430)+= clockdomains2430_data.o
  obj-$(CONFIG_ARCH_OMAP3)  += $(clockdomain-common)
-obj-$(CONFIG_ARCH_OMAP3)   += clockdomain2xxx_3xxx.o
  obj-$(CONFIG_ARCH_OMAP3)  += clockdomains2xxx_3xxx_data.o
  obj-$(CONFIG_ARCH_OMAP3)  += clockdomains3xxx_data.o
  obj-$(CONFIG_ARCH_OMAP4)  += $(clockdomain-common)
-obj-$(CONFIG_ARCH_OMAP4)   += clockdomain44xx.o
  obj-$(CONFIG_ARCH_OMAP4)  += clockdomains44xx_data.o
  obj-$(CONFIG_SOC_AM33XX)  += $(clockdomain-common)
-obj-$(CONFIG_SOC_AM33XX)   += clockdomain33xx.o
  obj-$(CONFIG_SOC_AM33XX)  += clockdomains33xx_data.o
  obj-$(CONFIG_SOC_OMAP5)   += $(clockdomain-common)
-obj-$(CONFIG_SOC_OMAP5)+= clockdomain44xx.o

  # Clock framework
  obj-$(CONFIG_ARCH_OMAP2)  += $(clock-common) clock2xxx.o
diff --git a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c 
b/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
deleted file mode 100644
index 658487c..000
--- a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * OMAP2 and OMAP3 clockdomain control
- *
- * Copyright (C) 2008-2010 Texas Instruments, Inc.
- * Copyright (C) 2008-2010 Nokia Corporation
- *
- * Derived from mach-omap2/clockdomain.c written by Paul Walmsley
- * Rajendra Nayak rna...@ti.com
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#include linux/types.h
-#include plat/prcm.h
-#include prm.h
-#include prm2xxx_3xxx.h
-#include cm.h
-#include cm2xxx.h
-#include cm3xxx.h
-#include cm-regbits-24xx.h
-#include cm-regbits-34xx.h
-#include prm-regbits-24xx.h
-#include clockdomain.h
-
-static int omap2_clkdm_add_wkdep(struct clockdomain *clkdm1,
-   struct clockdomain *clkdm2)
-{
-   omap2_prm_set_mod_reg_bits((1  clkdm2-dep_bit),
-   clkdm1-pwrdm.ptr-prcm_offs, PM_WKDEP);
-   return 0;
-}
-
-static int omap2_clkdm_del_wkdep(struct clockdomain *clkdm1,
-struct clockdomain *clkdm2)
-{
-   omap2_prm_clear_mod_reg_bits((1  clkdm2-dep_bit),
-   clkdm1-pwrdm.ptr-prcm_offs, PM_WKDEP);
-   return 0;
-}
-
-static int omap2_clkdm_read_wkdep(struct clockdomain *clkdm1,
-struct clockdomain *clkdm2)
-{
-   return omap2_prm_read_mod_bits_shift(clkdm1-pwrdm.ptr-prcm_offs,
-   

Re: [PATCH 5/5] ARM: OMAP2/3: clockdomain/PRM/CM: move the low-level clockdomain functions into PRM/CM

2012-10-18 Thread Russ Dill
On Mon, Oct 15, 2012 at 4:05 PM, Paul Walmsley p...@pwsan.com wrote:
 Move the low-level SoC-specific clockdomain control functions into
 cm*.c and prm*.c.  For example, OMAP2xxx low-level clockdomain
 functions go into cm2xxx.c.  Then remove the unnecessary
 clockdomain*xxx*.c files.

 The objective is to centralize low-level CM and PRM register accesses
 into the cm*.[ch] and prm*.[ch] files, and then to export an OMAP
 SoC-independent API to higher-level OMAP power management code.

The series looks good
Reviewed-by: russ.d...@ti.com

 Signed-off-by: Paul Walmsley p...@pwsan.com
 Cc: Rajendra Nayak rna...@ti.com
 Cc: Vaibhav Hiremath hvaib...@ti.com
 ---
  arch/arm/mach-omap2/Makefile   |5
  arch/arm/mach-omap2/clockdomain2xxx_3xxx.c |  340 
 
  arch/arm/mach-omap2/clockdomain33xx.c  |   74 --
  arch/arm/mach-omap2/clockdomain44xx.c  |  151 
  arch/arm/mach-omap2/cm2xxx.c   |   86 +++
  arch/arm/mach-omap2/cm2xxx_3xxx.h  |   12 +
  arch/arm/mach-omap2/cm33xx.c   |   56 +
  arch/arm/mach-omap2/cm3xxx.c   |  169 ++
  arch/arm/mach-omap2/cminst44xx.c   |  139 +++
  arch/arm/mach-omap2/prm2xxx.c  |   17 +
  arch/arm/mach-omap2/prm2xxx.h  |6
  arch/arm/mach-omap2/prm2xxx_3xxx.c |   43 
  arch/arm/mach-omap2/prm2xxx_3xxx.h |8 +
  13 files changed, 536 insertions(+), 570 deletions(-)
  delete mode 100644 arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
  delete mode 100644 arch/arm/mach-omap2/clockdomain33xx.c
  delete mode 100644 arch/arm/mach-omap2/clockdomain44xx.c

 diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
 index 56a3386..3751d56 100644
 --- a/arch/arm/mach-omap2/Makefile
 +++ b/arch/arm/mach-omap2/Makefile
 @@ -133,22 +133,17 @@ obj-$(CONFIG_SOC_OMAP5)   += 
 $(powerdomain-common)
  # PRCM clockdomain control
  clockdomain-common += clockdomain.o
  obj-$(CONFIG_ARCH_OMAP2)   += $(clockdomain-common)
 -obj-$(CONFIG_ARCH_OMAP2)   += clockdomain2xxx_3xxx.o
  obj-$(CONFIG_ARCH_OMAP2)   += clockdomains2xxx_3xxx_data.o
  obj-$(CONFIG_SOC_OMAP2420) += clockdomains2420_data.o
  obj-$(CONFIG_SOC_OMAP2430) += clockdomains2430_data.o
  obj-$(CONFIG_ARCH_OMAP3)   += $(clockdomain-common)
 -obj-$(CONFIG_ARCH_OMAP3)   += clockdomain2xxx_3xxx.o
  obj-$(CONFIG_ARCH_OMAP3)   += clockdomains2xxx_3xxx_data.o
  obj-$(CONFIG_ARCH_OMAP3)   += clockdomains3xxx_data.o
  obj-$(CONFIG_ARCH_OMAP4)   += $(clockdomain-common)
 -obj-$(CONFIG_ARCH_OMAP4)   += clockdomain44xx.o
  obj-$(CONFIG_ARCH_OMAP4)   += clockdomains44xx_data.o
  obj-$(CONFIG_SOC_AM33XX)   += $(clockdomain-common)
 -obj-$(CONFIG_SOC_AM33XX)   += clockdomain33xx.o
  obj-$(CONFIG_SOC_AM33XX)   += clockdomains33xx_data.o
  obj-$(CONFIG_SOC_OMAP5)+= $(clockdomain-common)
 -obj-$(CONFIG_SOC_OMAP5)+= clockdomain44xx.o

  # Clock framework
  obj-$(CONFIG_ARCH_OMAP2)   += $(clock-common) clock2xxx.o
 diff --git a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c 
 b/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
 deleted file mode 100644
 index 658487c..000
 --- a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
 +++ /dev/null
 @@ -1,340 +0,0 @@
 -/*
 - * OMAP2 and OMAP3 clockdomain control
 - *
 - * Copyright (C) 2008-2010 Texas Instruments, Inc.
 - * Copyright (C) 2008-2010 Nokia Corporation
 - *
 - * Derived from mach-omap2/clockdomain.c written by Paul Walmsley
 - * Rajendra Nayak rna...@ti.com
 - *
 - * This program is free software; you can redistribute it and/or modify
 - * it under the terms of the GNU General Public License version 2 as
 - * published by the Free Software Foundation.
 - */
 -
 -#include linux/types.h
 -#include plat/prcm.h
 -#include prm.h
 -#include prm2xxx_3xxx.h
 -#include cm.h
 -#include cm2xxx.h
 -#include cm3xxx.h
 -#include cm-regbits-24xx.h
 -#include cm-regbits-34xx.h
 -#include prm-regbits-24xx.h
 -#include clockdomain.h
 -
 -static int omap2_clkdm_add_wkdep(struct clockdomain *clkdm1,
 -   struct clockdomain *clkdm2)
 -{
 -   omap2_prm_set_mod_reg_bits((1  clkdm2-dep_bit),
 -   clkdm1-pwrdm.ptr-prcm_offs, PM_WKDEP);
 -   return 0;
 -}
 -
 -static int omap2_clkdm_del_wkdep(struct clockdomain *clkdm1,
 -struct clockdomain *clkdm2)
 -{
 -   omap2_prm_clear_mod_reg_bits((1  clkdm2-dep_bit),
 -   clkdm1-pwrdm.ptr-prcm_offs, PM_WKDEP);
 -   return 0;
 -}
 -
 -static int omap2_clkdm_read_wkdep(struct clockdomain *clkdm1,
 -struct clockdomain *clkdm2)
 -{
 

[PATCH 5/5] ARM: OMAP2/3: clockdomain/PRM/CM: move the low-level clockdomain functions into PRM/CM

2012-10-15 Thread Paul Walmsley
Move the low-level SoC-specific clockdomain control functions into
cm*.c and prm*.c.  For example, OMAP2xxx low-level clockdomain
functions go into cm2xxx.c.  Then remove the unnecessary
clockdomain*xxx*.c files.

The objective is to centralize low-level CM and PRM register accesses
into the cm*.[ch] and prm*.[ch] files, and then to export an OMAP
SoC-independent API to higher-level OMAP power management code.

Signed-off-by: Paul Walmsley p...@pwsan.com
Cc: Rajendra Nayak rna...@ti.com
Cc: Vaibhav Hiremath hvaib...@ti.com
---
 arch/arm/mach-omap2/Makefile   |5 
 arch/arm/mach-omap2/clockdomain2xxx_3xxx.c |  340 
 arch/arm/mach-omap2/clockdomain33xx.c  |   74 --
 arch/arm/mach-omap2/clockdomain44xx.c  |  151 
 arch/arm/mach-omap2/cm2xxx.c   |   86 +++
 arch/arm/mach-omap2/cm2xxx_3xxx.h  |   12 +
 arch/arm/mach-omap2/cm33xx.c   |   56 +
 arch/arm/mach-omap2/cm3xxx.c   |  169 ++
 arch/arm/mach-omap2/cminst44xx.c   |  139 +++
 arch/arm/mach-omap2/prm2xxx.c  |   17 +
 arch/arm/mach-omap2/prm2xxx.h  |6 
 arch/arm/mach-omap2/prm2xxx_3xxx.c |   43 
 arch/arm/mach-omap2/prm2xxx_3xxx.h |8 +
 13 files changed, 536 insertions(+), 570 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
 delete mode 100644 arch/arm/mach-omap2/clockdomain33xx.c
 delete mode 100644 arch/arm/mach-omap2/clockdomain44xx.c

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 56a3386..3751d56 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -133,22 +133,17 @@ obj-$(CONFIG_SOC_OMAP5)   += 
$(powerdomain-common)
 # PRCM clockdomain control
 clockdomain-common += clockdomain.o
 obj-$(CONFIG_ARCH_OMAP2)   += $(clockdomain-common)
-obj-$(CONFIG_ARCH_OMAP2)   += clockdomain2xxx_3xxx.o
 obj-$(CONFIG_ARCH_OMAP2)   += clockdomains2xxx_3xxx_data.o
 obj-$(CONFIG_SOC_OMAP2420) += clockdomains2420_data.o
 obj-$(CONFIG_SOC_OMAP2430) += clockdomains2430_data.o
 obj-$(CONFIG_ARCH_OMAP3)   += $(clockdomain-common)
-obj-$(CONFIG_ARCH_OMAP3)   += clockdomain2xxx_3xxx.o
 obj-$(CONFIG_ARCH_OMAP3)   += clockdomains2xxx_3xxx_data.o
 obj-$(CONFIG_ARCH_OMAP3)   += clockdomains3xxx_data.o
 obj-$(CONFIG_ARCH_OMAP4)   += $(clockdomain-common)
-obj-$(CONFIG_ARCH_OMAP4)   += clockdomain44xx.o
 obj-$(CONFIG_ARCH_OMAP4)   += clockdomains44xx_data.o
 obj-$(CONFIG_SOC_AM33XX)   += $(clockdomain-common)
-obj-$(CONFIG_SOC_AM33XX)   += clockdomain33xx.o
 obj-$(CONFIG_SOC_AM33XX)   += clockdomains33xx_data.o
 obj-$(CONFIG_SOC_OMAP5)+= $(clockdomain-common)
-obj-$(CONFIG_SOC_OMAP5)+= clockdomain44xx.o
 
 # Clock framework
 obj-$(CONFIG_ARCH_OMAP2)   += $(clock-common) clock2xxx.o
diff --git a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c 
b/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
deleted file mode 100644
index 658487c..000
--- a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * OMAP2 and OMAP3 clockdomain control
- *
- * Copyright (C) 2008-2010 Texas Instruments, Inc.
- * Copyright (C) 2008-2010 Nokia Corporation
- *
- * Derived from mach-omap2/clockdomain.c written by Paul Walmsley
- * Rajendra Nayak rna...@ti.com
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#include linux/types.h
-#include plat/prcm.h
-#include prm.h
-#include prm2xxx_3xxx.h
-#include cm.h
-#include cm2xxx.h
-#include cm3xxx.h
-#include cm-regbits-24xx.h
-#include cm-regbits-34xx.h
-#include prm-regbits-24xx.h
-#include clockdomain.h
-
-static int omap2_clkdm_add_wkdep(struct clockdomain *clkdm1,
-   struct clockdomain *clkdm2)
-{
-   omap2_prm_set_mod_reg_bits((1  clkdm2-dep_bit),
-   clkdm1-pwrdm.ptr-prcm_offs, PM_WKDEP);
-   return 0;
-}
-
-static int omap2_clkdm_del_wkdep(struct clockdomain *clkdm1,
-struct clockdomain *clkdm2)
-{
-   omap2_prm_clear_mod_reg_bits((1  clkdm2-dep_bit),
-   clkdm1-pwrdm.ptr-prcm_offs, PM_WKDEP);
-   return 0;
-}
-
-static int omap2_clkdm_read_wkdep(struct clockdomain *clkdm1,
-struct clockdomain *clkdm2)
-{
-   return omap2_prm_read_mod_bits_shift(clkdm1-pwrdm.ptr-prcm_offs,
-   PM_WKDEP, (1  clkdm2-dep_bit));
-}
-
-static int omap2_clkdm_clear_all_wkdeps(struct clockdomain *clkdm)
-{
-   struct