Re: [PATCH 5/5] ARM: OMAP2/3: clockdomain/PRM/CM: move the low-level clockdomain functions into PRM/CM
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
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
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