On Thu, Jan 21, 2010 at 04:53:03PM +0900, Kukjin Kim wrote: > This patch adds timer support common functions for S5P. Samsung S5P > SoC uses the PWM timer for the system clock ticks and so reuses the > s3c implementation of the timer. This patch also adds support > definitions required by the s3c timer implementation. > And files of same function remove in the mach-s5p6440/include/mach. ok, will apply to next-samsung-s5p-updates > Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> > --- > arch/arm/mach-s5p6440/include/mach/pwm-clock.h | 62 --------------------- > arch/arm/mach-s5p6440/include/mach/tick.h | 24 -------- > arch/arm/plat-s5p/include/mach/pwm-clock.h | 69 ++++++++++++++++++++++++ > arch/arm/plat-s5p/include/mach/tick.h | 26 +++++++++ > 4 files changed, 95 insertions(+), 86 deletions(-) > delete mode 100644 arch/arm/mach-s5p6440/include/mach/pwm-clock.h > delete mode 100644 arch/arm/mach-s5p6440/include/mach/tick.h > create mode 100644 arch/arm/plat-s5p/include/mach/pwm-clock.h > create mode 100644 arch/arm/plat-s5p/include/mach/tick.h > > diff --git a/arch/arm/mach-s5p6440/include/mach/pwm-clock.h b/arch/arm/mach-s5p6440/include/mach/pwm-clock.h > deleted file mode 100644 > index c4bb7c5..0000000 > --- a/arch/arm/mach-s5p6440/include/mach/pwm-clock.h > +++ /dev/null > @@ -1,62 +0,0 @@ > -/* linux/arch/arm/mach-s5p6440/include/mach/pwm-clock.h > - * > - * Copyright 2008 Simtec Electronics > - * Ben Dooks <ben@xxxxxxxxxxxx> > - * http://armlinux.simtec.co.uk/ > - * > - * Copyright 2009 Samsung Electronics Co., Ltd. > - * http://www.samsung.com/ > - * > - * S5P6440 - pwm clock and timer support > - * > - * 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. > -*/ > - > -/** > - * pwm_cfg_src_is_tclk() - return whether the given mux config is a tclk > - * @cfg: The timer TCFG1 register bits shifted down to 0. > - * > - * Return true if the given configuration from TCFG1 is a TCLK instead > - * any of the TDIV clocks. > - */ > -static inline int pwm_cfg_src_is_tclk(unsigned long tcfg) > -{ > - return tcfg == S3C2410_TCFG1_MUX_TCLK; > -} > - > -/** > - * tcfg_to_divisor() - convert tcfg1 setting to a divisor > - * @tcfg1: The tcfg1 setting, shifted down. > - * > - * Get the divisor value for the given tcfg1 setting. We assume the > - * caller has already checked to see if this is not a TCLK source. > - */ > -static inline unsigned long tcfg_to_divisor(unsigned long tcfg1) > -{ > - return 1 << (1 + tcfg1); > -} > - > -/** > - * pwm_tdiv_has_div1() - does the tdiv setting have a /1 > - * > - * Return true if we have a /1 in the tdiv setting. > - */ > -static inline unsigned int pwm_tdiv_has_div1(void) > -{ > - return 0; > -} > - > -/** > - * pwm_tdiv_div_bits() - calculate TCFG1 divisor value. > - * @div: The divisor to calculate the bit information for. > - * > - * Turn a divisor into the necessary bit field for TCFG1. > - */ > -static inline unsigned long pwm_tdiv_div_bits(unsigned int div) > -{ > - return ilog2(div) - 1; > -} > - > -#define S3C_TCFG1_MUX_TCLK S3C2410_TCFG1_MUX_TCLK > diff --git a/arch/arm/mach-s5p6440/include/mach/tick.h b/arch/arm/mach-s5p6440/include/mach/tick.h > deleted file mode 100644 > index 0815aeb..0000000 > --- a/arch/arm/mach-s5p6440/include/mach/tick.h > +++ /dev/null > @@ -1,24 +0,0 @@ > -/* linux/arch/arm/mach-s5p6440/include/mach/tick.h > - * > - * Copyright (c) 2009 Samsung Electronics Co., Ltd. > - * http://www.samsung.com/ > - * > - * S5P6440 - Timer tick support definitions > - * > - * 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. > -*/ > - > -#ifndef __ASM_ARCH_TICK_H > -#define __ASM_ARCH_TICK_H __FILE__ > - > -static inline u32 s3c24xx_ostimer_pending(void) > -{ > - u32 pend = __raw_readl(S5P_VA_VIC0 + VIC_RAW_STATUS); > - return pend & (1 << (IRQ_TIMER4_VIC - S5P_IRQ_VIC0(0))); > -} > - > -#define TICK_MAX (0xffffffff) > - > -#endif /* __ASM_ARCH_TICK_H */ > diff --git a/arch/arm/plat-s5p/include/mach/pwm-clock.h b/arch/arm/plat-s5p/include/mach/pwm-clock.h > new file mode 100644 > index 0000000..6d35cc5 > --- /dev/null > +++ b/arch/arm/plat-s5p/include/mach/pwm-clock.h > @@ -0,0 +1,69 @@ > +/* linux/arch/arm/plat-s5p/include/mach/pwm-clock.h > + * > + * Copyright 2008 Simtec Electronics > + * Ben Dooks <ben@xxxxxxxxxxxx> > + * http://armlinux.simtec.co.uk/ > + * > + * Copyright (c) 2009 Samsung Electronics Co., Ltd. > + * http://www.samsung.com/ > + * > + * Based on arch/arm/plat-s3c24xx/include/mach/pwm-clock.h > + * > + * S5P pwm clock and timer support > + * > + * 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. > +*/ > + > +#ifndef __ASM_ARCH_PWMCLK_H > +#define __ASM_ARCH_PWMCLK_H __FILE__ > + > +/** > + * pwm_cfg_src_is_tclk() - return whether the given mux config is a tclk > + * @cfg: The timer TCFG1 register bits shifted down to 0. > + * > + * Return true if the given configuration from TCFG1 is a TCLK instead > + * any of the TDIV clocks. > + */ > +static inline int pwm_cfg_src_is_tclk(unsigned long tcfg) > +{ > + return tcfg == S3C2410_TCFG1_MUX_TCLK; > +} > + > +/** > + * tcfg_to_divisor() - convert tcfg1 setting to a divisor > + * @tcfg1: The tcfg1 setting, shifted down. > + * > + * Get the divisor value for the given tcfg1 setting. We assume the > + * caller has already checked to see if this is not a TCLK source. > + */ > +static inline unsigned long tcfg_to_divisor(unsigned long tcfg1) > +{ > + return 1 << (1 + tcfg1); > +} > + > +/** > + * pwm_tdiv_has_div1() - does the tdiv setting have a /1 > + * > + * Return true if we have a /1 in the tdiv setting. > + */ > +static inline unsigned int pwm_tdiv_has_div1(void) > +{ > + return 0; > +} > + > +/** > + * pwm_tdiv_div_bits() - calculate TCFG1 divisor value. > + * @div: The divisor to calculate the bit information for. > + * > + * Turn a divisor into the necessary bit field for TCFG1. > + */ > +static inline unsigned long pwm_tdiv_div_bits(unsigned int div) > +{ > + return ilog2(div) - 1; > +} > + > +#define S3C_TCFG1_MUX_TCLK S3C2410_TCFG1_MUX_TCLK > + > +#endif /* __ASM_ARCH_PWMCLK_H */ > diff --git a/arch/arm/plat-s5p/include/mach/tick.h b/arch/arm/plat-s5p/include/mach/tick.h > new file mode 100644 > index 0000000..9ab0c19 > --- /dev/null > +++ b/arch/arm/plat-s5p/include/mach/tick.h > @@ -0,0 +1,26 @@ > +/* linux/arch/arm/plat-s5pv210/include/mach/tick.h > + * > + * Copyright (c) 2009 Samsung Electronics Co., Ltd. > + * http://www.samsung.com/ > + * > + * Based on arch/arm/mach-s3c6400/include/mach/tick.h > + * > + * S5P Timer tick support definitions > + * > + * 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. > +*/ > + > +#ifndef __ASM_ARCH_TICK_H > +#define __ASM_ARCH_TICK_H __FILE__ > + > +static inline u32 s3c24xx_ostimer_pending(void) > +{ > + u32 pend = __raw_readl(S5P_VA_VIC0 + VIC_RAW_STATUS); > + return pend & (1 << (IRQ_TIMER4_VIC - S5P_IRQ_VIC0(0))); > +} > + > +#define TICK_MAX (0xffffffff) > + > +#endif /* __ASM_ARCH_TICK_H */ > -- > 1.6.2.5 > -- -- Ben Q: What's a light-year? A: One-third less calories than a regular year. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html