Message ID | 1371766383-29077-8-git-send-email-tomasz.figa@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 06/21/13 07:12, Tomasz Figa wrote: > This patch moves all Samsung platforms using PWM clocksource from legacy > samsung-time to new samsung-pwm-timer driver. > > Signed-off-by: Tomasz Figa<tomasz.figa@gmail.com> > --- > arch/arm/mach-s3c24xx/Kconfig | 12 ++++++------ > arch/arm/mach-s3c24xx/common.c | 16 ++++++++++++++++ > arch/arm/mach-s3c64xx/Kconfig | 4 ++-- > arch/arm/mach-s3c64xx/common.c | 17 +++++++++++++++++ > arch/arm/mach-s5p64x0/Kconfig | 4 ++-- > arch/arm/mach-s5p64x0/common.c | 17 +++++++++++++++++ > arch/arm/mach-s5pc100/Kconfig | 2 +- > arch/arm/mach-s5pc100/common.c | 17 +++++++++++++++++ > arch/arm/mach-s5pv210/Kconfig | 2 +- > arch/arm/mach-s5pv210/common.c | 17 +++++++++++++++++ > 10 files changed, 96 insertions(+), 12 deletions(-) > > diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig > index 6d9252e..46f9a9c 100644 > --- a/arch/arm/mach-s3c24xx/Kconfig > +++ b/arch/arm/mach-s3c24xx/Kconfig > @@ -30,7 +30,7 @@ config CPU_S3C2410 > select S3C2410_CLOCK > select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ > select S3C2410_PM if PM > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Please put this in alphabetical ordering, this is just replacing though. > select SAMSUNG_WDT_RESET > help > Support for S3C2410 and S3C2410A family from the S3C24XX line > @@ -42,7 +42,7 @@ config CPU_S3C2412 > select CPU_LLSERIAL_S3C2440 > select S3C2412_DMA if S3C24XX_DMA > select S3C2412_PM if PM > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Same as above. > help > Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line > > @@ -54,7 +54,7 @@ config CPU_S3C2416 > select S3C2443_COMMON > select S3C2443_DMA if S3C24XX_DMA > select SAMSUNG_CLKSRC > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Same as above. > help > Support for the S3C2416 SoC from the S3C24XX line > > @@ -65,7 +65,7 @@ config CPU_S3C2440 > select S3C2410_CLOCK > select S3C2410_PM if PM > select S3C2440_DMA if S3C24XX_DMA > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Same as above. > help > Support for S3C2440 Samsung Mobile CPU based systems. > > @@ -75,7 +75,7 @@ config CPU_S3C2442 > select CPU_LLSERIAL_S3C2440 > select S3C2410_CLOCK > select S3C2410_PM if PM > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Same. > help > Support for S3C2442 Samsung Mobile CPU based systems. > > @@ -91,7 +91,7 @@ config CPU_S3C2443 > select S3C2443_COMMON > select S3C2443_DMA if S3C24XX_DMA > select SAMSUNG_CLKSRC > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Same. [...] > > config CPU_S3C6400 > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Same. > bool > help > Enable S3C6400 CPU support > > config CPU_S3C6410 > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Same. > bool > help > Enable S3C6410 CPU support [...] > @@ -11,14 +11,14 @@ config CPU_S5P6440 > bool > select S5P_SLEEP if PM > select SAMSUNG_DMADEV > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Same. > select SAMSUNG_WAKEMASK if PM > help > Enable S5P6440 CPU support > > config CPU_S5P6450 > bool > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Same. [...] > @@ -11,7 +11,7 @@ config CPU_S5PC100 > bool > select S5P_EXT_INT > select SAMSUNG_DMADEV > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Same. [...] > @@ -15,7 +15,7 @@ config CPU_S5PV210 > select S5P_PM if PM > select S5P_SLEEP if PM > select SAMSUNG_DMADEV > - select SAMSUNG_HRT > + select CLKSRC_SAMSUNG_PWM Same. [...] Let me fix it... - Kukjin
On Tuesday 25 of June 2013 00:33:01 Kukjin Kim wrote: > On 06/21/13 07:12, Tomasz Figa wrote: > > This patch moves all Samsung platforms using PWM clocksource from > > legacy samsung-time to new samsung-pwm-timer driver. > > > > Signed-off-by: Tomasz Figa<tomasz.figa@gmail.com> > > --- > > > > arch/arm/mach-s3c24xx/Kconfig | 12 ++++++------ > > arch/arm/mach-s3c24xx/common.c | 16 ++++++++++++++++ > > arch/arm/mach-s3c64xx/Kconfig | 4 ++-- > > arch/arm/mach-s3c64xx/common.c | 17 +++++++++++++++++ > > arch/arm/mach-s5p64x0/Kconfig | 4 ++-- > > arch/arm/mach-s5p64x0/common.c | 17 +++++++++++++++++ > > arch/arm/mach-s5pc100/Kconfig | 2 +- > > arch/arm/mach-s5pc100/common.c | 17 +++++++++++++++++ > > arch/arm/mach-s5pv210/Kconfig | 2 +- > > arch/arm/mach-s5pv210/common.c | 17 +++++++++++++++++ > > 10 files changed, 96 insertions(+), 12 deletions(-) > > > > diff --git a/arch/arm/mach-s3c24xx/Kconfig > > b/arch/arm/mach-s3c24xx/Kconfig index 6d9252e..46f9a9c 100644 > > --- a/arch/arm/mach-s3c24xx/Kconfig > > +++ b/arch/arm/mach-s3c24xx/Kconfig > > @@ -30,7 +30,7 @@ config CPU_S3C2410 > > > > select S3C2410_CLOCK > > select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ > > select S3C2410_PM if PM > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Please put this in alphabetical ordering, this is just replacing though. Argh, I always forget about this ordering, sorry. > > select SAMSUNG_WDT_RESET > > help > > > > Support for S3C2410 and S3C2410A family from the S3C24XX line > > > > @@ -42,7 +42,7 @@ config CPU_S3C2412 > > > > select CPU_LLSERIAL_S3C2440 > > select S3C2412_DMA if S3C24XX_DMA > > select S3C2412_PM if PM > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Same as above. > > > help > > > > Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line > > > > @@ -54,7 +54,7 @@ config CPU_S3C2416 > > > > select S3C2443_COMMON > > select S3C2443_DMA if S3C24XX_DMA > > select SAMSUNG_CLKSRC > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Same as above. > > > help > > > > Support for the S3C2416 SoC from the S3C24XX line > > > > @@ -65,7 +65,7 @@ config CPU_S3C2440 > > > > select S3C2410_CLOCK > > select S3C2410_PM if PM > > select S3C2440_DMA if S3C24XX_DMA > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Same as above. > > > help > > > > Support for S3C2440 Samsung Mobile CPU based systems. > > > > @@ -75,7 +75,7 @@ config CPU_S3C2442 > > > > select CPU_LLSERIAL_S3C2440 > > select S3C2410_CLOCK > > select S3C2410_PM if PM > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Same. > > > help > > > > Support for S3C2442 Samsung Mobile CPU based systems. > > > > @@ -91,7 +91,7 @@ config CPU_S3C2443 > > > > select S3C2443_COMMON > > select S3C2443_DMA if S3C24XX_DMA > > select SAMSUNG_CLKSRC > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Same. > > [...] > > > config CPU_S3C6400 > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Same. > > > bool > > help > > > > Enable S3C6400 CPU support > > > > config CPU_S3C6410 > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Same. > > > bool > > help > > > > Enable S3C6410 CPU support > > [...] > > > @@ -11,14 +11,14 @@ config CPU_S5P6440 > > > > bool > > select S5P_SLEEP if PM > > select SAMSUNG_DMADEV > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Same. > > > select SAMSUNG_WAKEMASK if PM > > help > > > > Enable S5P6440 CPU support > > > > config CPU_S5P6450 > > > > bool > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Same. > > [...] > > > @@ -11,7 +11,7 @@ config CPU_S5PC100 > > > > bool > > select S5P_EXT_INT > > select SAMSUNG_DMADEV > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Same. > > [...] > > > @@ -15,7 +15,7 @@ config CPU_S5PV210 > > > > select S5P_PM if PM > > select S5P_SLEEP if PM > > select SAMSUNG_DMADEV > > > > - select SAMSUNG_HRT > > + select CLKSRC_SAMSUNG_PWM > > Same. > > [...] > > Let me fix it... Thanks. Best regards, Tomasz
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig index 6d9252e..46f9a9c 100644 --- a/arch/arm/mach-s3c24xx/Kconfig +++ b/arch/arm/mach-s3c24xx/Kconfig @@ -30,7 +30,7 @@ config CPU_S3C2410 select S3C2410_CLOCK select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ select S3C2410_PM if PM - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM select SAMSUNG_WDT_RESET help Support for S3C2410 and S3C2410A family from the S3C24XX line @@ -42,7 +42,7 @@ config CPU_S3C2412 select CPU_LLSERIAL_S3C2440 select S3C2412_DMA if S3C24XX_DMA select S3C2412_PM if PM - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM help Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line @@ -54,7 +54,7 @@ config CPU_S3C2416 select S3C2443_COMMON select S3C2443_DMA if S3C24XX_DMA select SAMSUNG_CLKSRC - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM help Support for the S3C2416 SoC from the S3C24XX line @@ -65,7 +65,7 @@ config CPU_S3C2440 select S3C2410_CLOCK select S3C2410_PM if PM select S3C2440_DMA if S3C24XX_DMA - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM help Support for S3C2440 Samsung Mobile CPU based systems. @@ -75,7 +75,7 @@ config CPU_S3C2442 select CPU_LLSERIAL_S3C2440 select S3C2410_CLOCK select S3C2410_PM if PM - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM help Support for S3C2442 Samsung Mobile CPU based systems. @@ -91,7 +91,7 @@ config CPU_S3C2443 select S3C2443_COMMON select S3C2443_DMA if S3C24XX_DMA select SAMSUNG_CLKSRC - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM help Support for the S3C2443 SoC from the S3C24XX line diff --git a/arch/arm/mach-s3c24xx/common.c b/arch/arm/mach-s3c24xx/common.c index e5e7d7d..457261c 100644 --- a/arch/arm/mach-s3c24xx/common.c +++ b/arch/arm/mach-s3c24xx/common.c @@ -245,6 +245,22 @@ void __init s3c24xx_init_io(struct map_desc *mach_desc, int size) samsung_pwm_set_platdata(&s3c24xx_pwm_variant); } +void __init samsung_set_timer_source(unsigned int event, unsigned int source) +{ + s3c24xx_pwm_variant.output_mask = BIT(SAMSUNG_PWM_NUM) - 1; + s3c24xx_pwm_variant.output_mask &= ~(BIT(event) | BIT(source)); +} + +void __init samsung_timer_init(void) +{ + unsigned int timer_irqs[SAMSUNG_PWM_NUM] = { + IRQ_TIMER0, IRQ_TIMER1, IRQ_TIMER2, IRQ_TIMER3, IRQ_TIMER4, + }; + + samsung_pwm_clocksource_init(S3C_VA_TIMER, + timer_irqs, &s3c24xx_pwm_variant); +} + /* Serial port registrations */ #define S3C2410_PA_UART0 (S3C24XX_PA_UART) diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig index 2057853..f78a6a0 100644 --- a/arch/arm/mach-s3c64xx/Kconfig +++ b/arch/arm/mach-s3c64xx/Kconfig @@ -17,13 +17,13 @@ config PLAT_S3C64XX # Configuration options for the S3C6410 CPU config CPU_S3C6400 - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM bool help Enable S3C6400 CPU support config CPU_S3C6410 - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM bool help Enable S3C6410 CPU support diff --git a/arch/arm/mach-s3c64xx/common.c b/arch/arm/mach-s3c64xx/common.c index 0ab97c3..91df45a 100644 --- a/arch/arm/mach-s3c64xx/common.c +++ b/arch/arm/mach-s3c64xx/common.c @@ -157,6 +157,23 @@ static struct samsung_pwm_variant s3c64xx_pwm_variant = { .tclk_mask = (1 << 7) | (1 << 6) | (1 << 5), }; +void __init samsung_set_timer_source(unsigned int event, unsigned int source) +{ + s3c64xx_pwm_variant.output_mask = BIT(SAMSUNG_PWM_NUM) - 1; + s3c64xx_pwm_variant.output_mask &= ~(BIT(event) | BIT(source)); +} + +void __init samsung_timer_init(void) +{ + unsigned int timer_irqs[SAMSUNG_PWM_NUM] = { + IRQ_TIMER0_VIC, IRQ_TIMER1_VIC, IRQ_TIMER2_VIC, + IRQ_TIMER3_VIC, IRQ_TIMER4_VIC, + }; + + samsung_pwm_clocksource_init(S3C_VA_TIMER, + timer_irqs, &s3c64xx_pwm_variant); +} + /* read cpu identification code */ void __init s3c64xx_init_io(struct map_desc *mach_desc, int size) diff --git a/arch/arm/mach-s5p64x0/Kconfig b/arch/arm/mach-s5p64x0/Kconfig index 5a707bd..a39cd9e 100644 --- a/arch/arm/mach-s5p64x0/Kconfig +++ b/arch/arm/mach-s5p64x0/Kconfig @@ -11,14 +11,14 @@ config CPU_S5P6440 bool select S5P_SLEEP if PM select SAMSUNG_DMADEV - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM select SAMSUNG_WAKEMASK if PM help Enable S5P6440 CPU support config CPU_S5P6450 bool - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM select S5P_SLEEP if PM select SAMSUNG_DMADEV select SAMSUNG_WAKEMASK if PM diff --git a/arch/arm/mach-s5p64x0/common.c b/arch/arm/mach-s5p64x0/common.c index c14d719..6ee5638 100644 --- a/arch/arm/mach-s5p64x0/common.c +++ b/arch/arm/mach-s5p64x0/common.c @@ -165,6 +165,23 @@ static struct samsung_pwm_variant s5p64x0_pwm_variant = { .tclk_mask = 0, }; +void __init samsung_set_timer_source(unsigned int event, unsigned int source) +{ + s5p64x0_pwm_variant.output_mask = BIT(SAMSUNG_PWM_NUM) - 1; + s5p64x0_pwm_variant.output_mask &= ~(BIT(event) | BIT(source)); +} + +void __init samsung_timer_init(void) +{ + unsigned int timer_irqs[SAMSUNG_PWM_NUM] = { + IRQ_TIMER0_VIC, IRQ_TIMER1_VIC, IRQ_TIMER2_VIC, + IRQ_TIMER3_VIC, IRQ_TIMER4_VIC, + }; + + samsung_pwm_clocksource_init(S3C_VA_TIMER, + timer_irqs, &s5p64x0_pwm_variant); +} + /* * s5p64x0_map_io * diff --git a/arch/arm/mach-s5pc100/Kconfig b/arch/arm/mach-s5pc100/Kconfig index 2f456a4..2094a9b 100644 --- a/arch/arm/mach-s5pc100/Kconfig +++ b/arch/arm/mach-s5pc100/Kconfig @@ -11,7 +11,7 @@ config CPU_S5PC100 bool select S5P_EXT_INT select SAMSUNG_DMADEV - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM help Enable S5PC100 CPU support diff --git a/arch/arm/mach-s5pc100/common.c b/arch/arm/mach-s5pc100/common.c index a62e8a4..544a9c6 100644 --- a/arch/arm/mach-s5pc100/common.c +++ b/arch/arm/mach-s5pc100/common.c @@ -140,6 +140,23 @@ static struct samsung_pwm_variant s5pc100_pwm_variant = { .tclk_mask = (1 << 5), }; +void __init samsung_set_timer_source(unsigned int event, unsigned int source) +{ + s5pc100_pwm_variant.output_mask = BIT(SAMSUNG_PWM_NUM) - 1; + s5pc100_pwm_variant.output_mask &= ~(BIT(event) | BIT(source)); +} + +void __init samsung_timer_init(void) +{ + unsigned int timer_irqs[SAMSUNG_PWM_NUM] = { + IRQ_TIMER0_VIC, IRQ_TIMER1_VIC, IRQ_TIMER2_VIC, + IRQ_TIMER3_VIC, IRQ_TIMER4_VIC, + }; + + samsung_pwm_clocksource_init(S3C_VA_TIMER, + timer_irqs, &s5pc100_pwm_variant); +} + /* * s5pc100_map_io * diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig index 0963283..07cdff7 100644 --- a/arch/arm/mach-s5pv210/Kconfig +++ b/arch/arm/mach-s5pv210/Kconfig @@ -15,7 +15,7 @@ config CPU_S5PV210 select S5P_PM if PM select S5P_SLEEP if PM select SAMSUNG_DMADEV - select SAMSUNG_HRT + select CLKSRC_SAMSUNG_PWM help Enable S5PV210 CPU support diff --git a/arch/arm/mach-s5pv210/common.c b/arch/arm/mach-s5pv210/common.c index 4eba33d..d28affb 100644 --- a/arch/arm/mach-s5pv210/common.c +++ b/arch/arm/mach-s5pv210/common.c @@ -157,6 +157,23 @@ static struct samsung_pwm_variant s5pv210_pwm_variant = { .tclk_mask = (1 << 5), }; +void __init samsung_set_timer_source(unsigned int event, unsigned int source) +{ + s5pv210_pwm_variant.output_mask = BIT(SAMSUNG_PWM_NUM) - 1; + s5pv210_pwm_variant.output_mask &= ~(BIT(event) | BIT(source)); +} + +void __init samsung_timer_init(void) +{ + unsigned int timer_irqs[SAMSUNG_PWM_NUM] = { + IRQ_TIMER0_VIC, IRQ_TIMER1_VIC, IRQ_TIMER2_VIC, + IRQ_TIMER3_VIC, IRQ_TIMER4_VIC, + }; + + samsung_pwm_clocksource_init(S3C_VA_TIMER, + timer_irqs, &s5pv210_pwm_variant); +} + /* * s5pv210_map_io *
This patch moves all Samsung platforms using PWM clocksource from legacy samsung-time to new samsung-pwm-timer driver. Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com> --- arch/arm/mach-s3c24xx/Kconfig | 12 ++++++------ arch/arm/mach-s3c24xx/common.c | 16 ++++++++++++++++ arch/arm/mach-s3c64xx/Kconfig | 4 ++-- arch/arm/mach-s3c64xx/common.c | 17 +++++++++++++++++ arch/arm/mach-s5p64x0/Kconfig | 4 ++-- arch/arm/mach-s5p64x0/common.c | 17 +++++++++++++++++ arch/arm/mach-s5pc100/Kconfig | 2 +- arch/arm/mach-s5pc100/common.c | 17 +++++++++++++++++ arch/arm/mach-s5pv210/Kconfig | 2 +- arch/arm/mach-s5pv210/common.c | 17 +++++++++++++++++ 10 files changed, 96 insertions(+), 12 deletions(-)