On 04/10/2018 19:22, Guo Ren wrote: > This timer is used by SMP system and use mfcr/mtcr instruction > to access the regs. > > Changelog: > - Add rollback for timer_of_cleanup. > - Use request_percpu_irq separate from time_of. > - Remove #define CPUHP_AP_CSKY_TIMER_STARTING. > - Add CPUHP_AP_CSKY_TIMER_STARTING in cpuhotplug.h. > - Support csky mp timer alpha version. > - Just use low-counter with 32bit width as clocksource. > - Coding convention with upstream feed-back. > > Signed-off-by: Guo Ren <ren_guo@xxxxxxxxx> > --- > drivers/clocksource/Kconfig | 10 +++ > drivers/clocksource/Makefile | 1 + > drivers/clocksource/timer-mp-csky.c | 173 ++++++++++++++++++++++++++++++++++++ > include/linux/cpuhotplug.h | 1 + > 4 files changed, 185 insertions(+) > create mode 100644 drivers/clocksource/timer-mp-csky.c > > diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig > index a11f4ba..826a2e8 100644 > --- a/drivers/clocksource/Kconfig > +++ b/drivers/clocksource/Kconfig > @@ -620,4 +620,14 @@ config RISCV_TIMER > is accessed via both the SBI and the rdcycle instruction. This is > required for all RISC-V systems. > > +config CSKY_MP_TIMER > + bool "SMP Timer for the C-SKY platform" > + depends on CSKY > + select TIMER_OF > + help > + Say yes here to enable C-SKY SMP timer driver used for C-SKY SMP > + system. > + csky,mptimer is not only used in SMP system, it also could be used > + single core system. It's not a mmio reg and it use mtcr/mfcr instruction. ... COMPILE_TEST :) -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog