diff options
46 files changed, 1 insertions, 235 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b786e68914d4..167824e24edc 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -703,27 +703,6 @@ config PREEMPT | |||
703 | Say Y here if you are building a kernel for a desktop, embedded | 703 | Say Y here if you are building a kernel for a desktop, embedded |
704 | or real-time system. Say N if you are unsure. | 704 | or real-time system. Say N if you are unsure. |
705 | 705 | ||
706 | config NO_IDLE_HZ | ||
707 | bool "Dynamic tick timer" | ||
708 | depends on !GENERIC_CLOCKEVENTS | ||
709 | help | ||
710 | Select this option if you want to disable continuous timer ticks | ||
711 | and have them programmed to occur as required. This option saves | ||
712 | power as the system can remain in idle state for longer. | ||
713 | |||
714 | By default dynamic tick is disabled during the boot, and can be | ||
715 | manually enabled with: | ||
716 | |||
717 | echo 1 > /sys/devices/system/timer/timer0/dyn_tick | ||
718 | |||
719 | Alternatively, if you want dynamic tick automatically enabled | ||
720 | during boot, pass "dyntick=enable" via the kernel command string. | ||
721 | |||
722 | Please note that dynamic tick may affect the accuracy of | ||
723 | timekeeping on some platforms depending on the implementation. | ||
724 | Currently at least OMAP, PXA2xx and SA11x0 platforms are known | ||
725 | to have accurate timekeeping with dynamic tick. | ||
726 | |||
727 | config HZ | 706 | config HZ |
728 | int | 707 | int |
729 | default 128 if ARCH_L7200 | 708 | default 128 if ARCH_L7200 |
diff --git a/arch/arm/configs/at91cap9adk_defconfig b/arch/arm/configs/at91cap9adk_defconfig index e32e73648129..b8e73e95598d 100644 --- a/arch/arm/configs/at91cap9adk_defconfig +++ b/arch/arm/configs/at91cap9adk_defconfig | |||
@@ -213,7 +213,6 @@ CONFIG_CPU_CP15_MMU=y | |||
213 | # | 213 | # |
214 | # CONFIG_TICK_ONESHOT is not set | 214 | # CONFIG_TICK_ONESHOT is not set |
215 | # CONFIG_PREEMPT is not set | 215 | # CONFIG_PREEMPT is not set |
216 | # CONFIG_NO_IDLE_HZ is not set | ||
217 | CONFIG_HZ=100 | 216 | CONFIG_HZ=100 |
218 | CONFIG_AEABI=y | 217 | CONFIG_AEABI=y |
219 | CONFIG_OABI_COMPAT=y | 218 | CONFIG_OABI_COMPAT=y |
diff --git a/arch/arm/configs/at91rm9200dk_defconfig b/arch/arm/configs/at91rm9200dk_defconfig index 2dbbbc3d4ac3..868fb7b9530b 100644 --- a/arch/arm/configs/at91rm9200dk_defconfig +++ b/arch/arm/configs/at91rm9200dk_defconfig | |||
@@ -169,7 +169,6 @@ CONFIG_AT91_CF=y | |||
169 | # Kernel Features | 169 | # Kernel Features |
170 | # | 170 | # |
171 | # CONFIG_PREEMPT is not set | 171 | # CONFIG_PREEMPT is not set |
172 | # CONFIG_NO_IDLE_HZ is not set | ||
173 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 172 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
174 | CONFIG_SELECT_MEMORY_MODEL=y | 173 | CONFIG_SELECT_MEMORY_MODEL=y |
175 | CONFIG_FLATMEM_MANUAL=y | 174 | CONFIG_FLATMEM_MANUAL=y |
diff --git a/arch/arm/configs/at91rm9200ek_defconfig b/arch/arm/configs/at91rm9200ek_defconfig index 6e994f7820c6..de43fc675616 100644 --- a/arch/arm/configs/at91rm9200ek_defconfig +++ b/arch/arm/configs/at91rm9200ek_defconfig | |||
@@ -160,7 +160,6 @@ CONFIG_ISA_DMA_API=y | |||
160 | # Kernel Features | 160 | # Kernel Features |
161 | # | 161 | # |
162 | # CONFIG_PREEMPT is not set | 162 | # CONFIG_PREEMPT is not set |
163 | # CONFIG_NO_IDLE_HZ is not set | ||
164 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 163 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
165 | CONFIG_SELECT_MEMORY_MODEL=y | 164 | CONFIG_SELECT_MEMORY_MODEL=y |
166 | CONFIG_FLATMEM_MANUAL=y | 165 | CONFIG_FLATMEM_MANUAL=y |
diff --git a/arch/arm/configs/at91sam9260ek_defconfig b/arch/arm/configs/at91sam9260ek_defconfig index f659c938473f..2011adfa6758 100644 --- a/arch/arm/configs/at91sam9260ek_defconfig +++ b/arch/arm/configs/at91sam9260ek_defconfig | |||
@@ -220,7 +220,6 @@ CONFIG_CPU_CP15_MMU=y | |||
220 | # | 220 | # |
221 | # CONFIG_TICK_ONESHOT is not set | 221 | # CONFIG_TICK_ONESHOT is not set |
222 | # CONFIG_PREEMPT is not set | 222 | # CONFIG_PREEMPT is not set |
223 | # CONFIG_NO_IDLE_HZ is not set | ||
224 | CONFIG_HZ=100 | 223 | CONFIG_HZ=100 |
225 | # CONFIG_AEABI is not set | 224 | # CONFIG_AEABI is not set |
226 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 225 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/at91sam9261ek_defconfig b/arch/arm/configs/at91sam9261ek_defconfig index 3802e85f7483..4049768962d2 100644 --- a/arch/arm/configs/at91sam9261ek_defconfig +++ b/arch/arm/configs/at91sam9261ek_defconfig | |||
@@ -213,7 +213,6 @@ CONFIG_CPU_CP15_MMU=y | |||
213 | # | 213 | # |
214 | # CONFIG_TICK_ONESHOT is not set | 214 | # CONFIG_TICK_ONESHOT is not set |
215 | # CONFIG_PREEMPT is not set | 215 | # CONFIG_PREEMPT is not set |
216 | # CONFIG_NO_IDLE_HZ is not set | ||
217 | CONFIG_HZ=100 | 216 | CONFIG_HZ=100 |
218 | # CONFIG_AEABI is not set | 217 | # CONFIG_AEABI is not set |
219 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 218 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/at91sam9263ek_defconfig b/arch/arm/configs/at91sam9263ek_defconfig index 32a0d74e0c89..fa1c5aecb5a8 100644 --- a/arch/arm/configs/at91sam9263ek_defconfig +++ b/arch/arm/configs/at91sam9263ek_defconfig | |||
@@ -213,7 +213,6 @@ CONFIG_CPU_CP15_MMU=y | |||
213 | # | 213 | # |
214 | # CONFIG_TICK_ONESHOT is not set | 214 | # CONFIG_TICK_ONESHOT is not set |
215 | # CONFIG_PREEMPT is not set | 215 | # CONFIG_PREEMPT is not set |
216 | # CONFIG_NO_IDLE_HZ is not set | ||
217 | CONFIG_HZ=100 | 216 | CONFIG_HZ=100 |
218 | # CONFIG_AEABI is not set | 217 | # CONFIG_AEABI is not set |
219 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 218 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/at91sam9rlek_defconfig b/arch/arm/configs/at91sam9rlek_defconfig index 98e6746d02be..d8ec5f9ca6ec 100644 --- a/arch/arm/configs/at91sam9rlek_defconfig +++ b/arch/arm/configs/at91sam9rlek_defconfig | |||
@@ -211,7 +211,6 @@ CONFIG_CPU_CP15_MMU=y | |||
211 | # | 211 | # |
212 | # CONFIG_TICK_ONESHOT is not set | 212 | # CONFIG_TICK_ONESHOT is not set |
213 | # CONFIG_PREEMPT is not set | 213 | # CONFIG_PREEMPT is not set |
214 | # CONFIG_NO_IDLE_HZ is not set | ||
215 | CONFIG_HZ=100 | 214 | CONFIG_HZ=100 |
216 | # CONFIG_AEABI is not set | 215 | # CONFIG_AEABI is not set |
217 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 216 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/ateb9200_defconfig b/arch/arm/configs/ateb9200_defconfig index d846a492e5ce..85c80f723d8e 100644 --- a/arch/arm/configs/ateb9200_defconfig +++ b/arch/arm/configs/ateb9200_defconfig | |||
@@ -171,7 +171,6 @@ CONFIG_AT91_CF=m | |||
171 | # Kernel Features | 171 | # Kernel Features |
172 | # | 172 | # |
173 | CONFIG_PREEMPT=y | 173 | CONFIG_PREEMPT=y |
174 | CONFIG_NO_IDLE_HZ=y | ||
175 | CONFIG_HZ=100 | 174 | CONFIG_HZ=100 |
176 | # CONFIG_AEABI is not set | 175 | # CONFIG_AEABI is not set |
177 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 176 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/cm_x270_defconfig b/arch/arm/configs/cm_x270_defconfig index 5cab08397ae7..33b201c3b309 100644 --- a/arch/arm/configs/cm_x270_defconfig +++ b/arch/arm/configs/cm_x270_defconfig | |||
@@ -194,7 +194,6 @@ CONFIG_PCI_HOST_ITE8152=y | |||
194 | # | 194 | # |
195 | # CONFIG_TICK_ONESHOT is not set | 195 | # CONFIG_TICK_ONESHOT is not set |
196 | # CONFIG_PREEMPT is not set | 196 | # CONFIG_PREEMPT is not set |
197 | # CONFIG_NO_IDLE_HZ is not set | ||
198 | CONFIG_HZ=100 | 197 | CONFIG_HZ=100 |
199 | # CONFIG_AEABI is not set | 198 | # CONFIG_AEABI is not set |
200 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 199 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/collie_defconfig b/arch/arm/configs/collie_defconfig index 4264e273202d..f7622e658163 100644 --- a/arch/arm/configs/collie_defconfig +++ b/arch/arm/configs/collie_defconfig | |||
@@ -166,7 +166,6 @@ CONFIG_PCMCIA_SA1100=y | |||
166 | # Kernel Features | 166 | # Kernel Features |
167 | # | 167 | # |
168 | # CONFIG_PREEMPT is not set | 168 | # CONFIG_PREEMPT is not set |
169 | # CONFIG_NO_IDLE_HZ is not set | ||
170 | CONFIG_HZ=100 | 169 | CONFIG_HZ=100 |
171 | # CONFIG_AEABI is not set | 170 | # CONFIG_AEABI is not set |
172 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | 171 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y |
diff --git a/arch/arm/configs/corgi_defconfig b/arch/arm/configs/corgi_defconfig index e8980a9bb893..9b8748a8d9dd 100644 --- a/arch/arm/configs/corgi_defconfig +++ b/arch/arm/configs/corgi_defconfig | |||
@@ -165,7 +165,6 @@ CONFIG_PCMCIA_PXA2XX=y | |||
165 | # Kernel Features | 165 | # Kernel Features |
166 | # | 166 | # |
167 | CONFIG_PREEMPT=y | 167 | CONFIG_PREEMPT=y |
168 | # CONFIG_NO_IDLE_HZ is not set | ||
169 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 168 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
170 | CONFIG_SELECT_MEMORY_MODEL=y | 169 | CONFIG_SELECT_MEMORY_MODEL=y |
171 | CONFIG_FLATMEM_MANUAL=y | 170 | CONFIG_FLATMEM_MANUAL=y |
diff --git a/arch/arm/configs/ecbat91_defconfig b/arch/arm/configs/ecbat91_defconfig index 90ed214e3673..cfeb817ad21a 100644 --- a/arch/arm/configs/ecbat91_defconfig +++ b/arch/arm/configs/ecbat91_defconfig | |||
@@ -230,7 +230,6 @@ CONFIG_AT91_CF=y | |||
230 | # | 230 | # |
231 | # CONFIG_TICK_ONESHOT is not set | 231 | # CONFIG_TICK_ONESHOT is not set |
232 | CONFIG_PREEMPT=y | 232 | CONFIG_PREEMPT=y |
233 | # CONFIG_NO_IDLE_HZ is not set | ||
234 | CONFIG_HZ=100 | 233 | CONFIG_HZ=100 |
235 | # CONFIG_AEABI is not set | 234 | # CONFIG_AEABI is not set |
236 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 235 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/em_x270_defconfig b/arch/arm/configs/em_x270_defconfig index 6bea0901bdf0..d3114c23603b 100644 --- a/arch/arm/configs/em_x270_defconfig +++ b/arch/arm/configs/em_x270_defconfig | |||
@@ -197,7 +197,6 @@ CONFIG_XSCALE_PMU=y | |||
197 | # | 197 | # |
198 | # CONFIG_TICK_ONESHOT is not set | 198 | # CONFIG_TICK_ONESHOT is not set |
199 | # CONFIG_PREEMPT is not set | 199 | # CONFIG_PREEMPT is not set |
200 | # CONFIG_NO_IDLE_HZ is not set | ||
201 | CONFIG_HZ=100 | 200 | CONFIG_HZ=100 |
202 | CONFIG_AEABI=y | 201 | CONFIG_AEABI=y |
203 | CONFIG_OABI_COMPAT=y | 202 | CONFIG_OABI_COMPAT=y |
diff --git a/arch/arm/configs/ep93xx_defconfig b/arch/arm/configs/ep93xx_defconfig index 24a701ab33e5..21aa013793c6 100644 --- a/arch/arm/configs/ep93xx_defconfig +++ b/arch/arm/configs/ep93xx_defconfig | |||
@@ -184,7 +184,6 @@ CONFIG_ARM_AMBA=y | |||
184 | # Kernel Features | 184 | # Kernel Features |
185 | # | 185 | # |
186 | # CONFIG_PREEMPT is not set | 186 | # CONFIG_PREEMPT is not set |
187 | # CONFIG_NO_IDLE_HZ is not set | ||
188 | CONFIG_HZ=100 | 187 | CONFIG_HZ=100 |
189 | # CONFIG_AEABI is not set | 188 | # CONFIG_AEABI is not set |
190 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 189 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/eseries_pxa_defconfig b/arch/arm/configs/eseries_pxa_defconfig index ed487b90dbed..493ecee24f94 100644 --- a/arch/arm/configs/eseries_pxa_defconfig +++ b/arch/arm/configs/eseries_pxa_defconfig | |||
@@ -251,7 +251,6 @@ CONFIG_PCMCIA_PXA2XX=m | |||
251 | # Kernel Features | 251 | # Kernel Features |
252 | # | 252 | # |
253 | # CONFIG_PREEMPT is not set | 253 | # CONFIG_PREEMPT is not set |
254 | # CONFIG_NO_IDLE_HZ is not set | ||
255 | CONFIG_HZ=100 | 254 | CONFIG_HZ=100 |
256 | CONFIG_AEABI=y | 255 | CONFIG_AEABI=y |
257 | CONFIG_OABI_COMPAT=y | 256 | CONFIG_OABI_COMPAT=y |
diff --git a/arch/arm/configs/iop13xx_defconfig b/arch/arm/configs/iop13xx_defconfig index 988b4d13e76f..482e57061053 100644 --- a/arch/arm/configs/iop13xx_defconfig +++ b/arch/arm/configs/iop13xx_defconfig | |||
@@ -197,7 +197,6 @@ CONFIG_PCI_LEGACY=y | |||
197 | # | 197 | # |
198 | # CONFIG_TICK_ONESHOT is not set | 198 | # CONFIG_TICK_ONESHOT is not set |
199 | # CONFIG_PREEMPT is not set | 199 | # CONFIG_PREEMPT is not set |
200 | # CONFIG_NO_IDLE_HZ is not set | ||
201 | CONFIG_HZ=100 | 200 | CONFIG_HZ=100 |
202 | # CONFIG_AEABI is not set | 201 | # CONFIG_AEABI is not set |
203 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 202 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/iop32x_defconfig b/arch/arm/configs/iop32x_defconfig index 83f40d4041a6..8612f58e1056 100644 --- a/arch/arm/configs/iop32x_defconfig +++ b/arch/arm/configs/iop32x_defconfig | |||
@@ -201,7 +201,6 @@ CONFIG_PCI_LEGACY=y | |||
201 | # | 201 | # |
202 | # CONFIG_TICK_ONESHOT is not set | 202 | # CONFIG_TICK_ONESHOT is not set |
203 | # CONFIG_PREEMPT is not set | 203 | # CONFIG_PREEMPT is not set |
204 | # CONFIG_NO_IDLE_HZ is not set | ||
205 | CONFIG_HZ=100 | 204 | CONFIG_HZ=100 |
206 | # CONFIG_AEABI is not set | 205 | # CONFIG_AEABI is not set |
207 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 206 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/iop33x_defconfig b/arch/arm/configs/iop33x_defconfig index 917afb5ccfac..8b0098d19d08 100644 --- a/arch/arm/configs/iop33x_defconfig +++ b/arch/arm/configs/iop33x_defconfig | |||
@@ -197,7 +197,6 @@ CONFIG_PCI_LEGACY=y | |||
197 | # | 197 | # |
198 | # CONFIG_TICK_ONESHOT is not set | 198 | # CONFIG_TICK_ONESHOT is not set |
199 | # CONFIG_PREEMPT is not set | 199 | # CONFIG_PREEMPT is not set |
200 | # CONFIG_NO_IDLE_HZ is not set | ||
201 | CONFIG_HZ=100 | 200 | CONFIG_HZ=100 |
202 | # CONFIG_AEABI is not set | 201 | # CONFIG_AEABI is not set |
203 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 202 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/ixp2000_defconfig b/arch/arm/configs/ixp2000_defconfig index f8f9793b526f..84680db6c615 100644 --- a/arch/arm/configs/ixp2000_defconfig +++ b/arch/arm/configs/ixp2000_defconfig | |||
@@ -184,7 +184,6 @@ CONFIG_PCI=y | |||
184 | # Kernel Features | 184 | # Kernel Features |
185 | # | 185 | # |
186 | # CONFIG_PREEMPT is not set | 186 | # CONFIG_PREEMPT is not set |
187 | # CONFIG_NO_IDLE_HZ is not set | ||
188 | CONFIG_HZ=100 | 187 | CONFIG_HZ=100 |
189 | # CONFIG_AEABI is not set | 188 | # CONFIG_AEABI is not set |
190 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 189 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/ixp23xx_defconfig b/arch/arm/configs/ixp23xx_defconfig index 27cf022dd807..4a2f7b2372db 100644 --- a/arch/arm/configs/ixp23xx_defconfig +++ b/arch/arm/configs/ixp23xx_defconfig | |||
@@ -180,7 +180,6 @@ CONFIG_PCI=y | |||
180 | # Kernel Features | 180 | # Kernel Features |
181 | # | 181 | # |
182 | # CONFIG_PREEMPT is not set | 182 | # CONFIG_PREEMPT is not set |
183 | # CONFIG_NO_IDLE_HZ is not set | ||
184 | CONFIG_HZ=100 | 183 | CONFIG_HZ=100 |
185 | # CONFIG_AEABI is not set | 184 | # CONFIG_AEABI is not set |
186 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 185 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/kafa_defconfig b/arch/arm/configs/kafa_defconfig index ae51a40db6f9..6dd95a2c8d5d 100644 --- a/arch/arm/configs/kafa_defconfig +++ b/arch/arm/configs/kafa_defconfig | |||
@@ -162,7 +162,6 @@ CONFIG_CPU_TLB_V4WBI=y | |||
162 | # Kernel Features | 162 | # Kernel Features |
163 | # | 163 | # |
164 | CONFIG_PREEMPT=y | 164 | CONFIG_PREEMPT=y |
165 | # CONFIG_NO_IDLE_HZ is not set | ||
166 | CONFIG_HZ=100 | 165 | CONFIG_HZ=100 |
167 | # CONFIG_AEABI is not set | 166 | # CONFIG_AEABI is not set |
168 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 167 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/kb9202_defconfig b/arch/arm/configs/kb9202_defconfig index c16537d9d67a..8e74c66f239d 100644 --- a/arch/arm/configs/kb9202_defconfig +++ b/arch/arm/configs/kb9202_defconfig | |||
@@ -126,7 +126,6 @@ CONFIG_ISA_DMA_API=y | |||
126 | # | 126 | # |
127 | # Kernel Features | 127 | # Kernel Features |
128 | # | 128 | # |
129 | # CONFIG_NO_IDLE_HZ is not set | ||
130 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 129 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
131 | CONFIG_FLATMEM=y | 130 | CONFIG_FLATMEM=y |
132 | CONFIG_FLAT_NODE_MEM_MAP=y | 131 | CONFIG_FLAT_NODE_MEM_MAP=y |
diff --git a/arch/arm/configs/ks8695_defconfig b/arch/arm/configs/ks8695_defconfig index 8ab21a0719e9..6077f2cb88e4 100644 --- a/arch/arm/configs/ks8695_defconfig +++ b/arch/arm/configs/ks8695_defconfig | |||
@@ -174,7 +174,6 @@ CONFIG_PCCARD_NONSTATIC=y | |||
174 | # Kernel Features | 174 | # Kernel Features |
175 | # | 175 | # |
176 | # CONFIG_PREEMPT is not set | 176 | # CONFIG_PREEMPT is not set |
177 | # CONFIG_NO_IDLE_HZ is not set | ||
178 | CONFIG_HZ=100 | 177 | CONFIG_HZ=100 |
179 | # CONFIG_AEABI is not set | 178 | # CONFIG_AEABI is not set |
180 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 179 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/lpd270_defconfig b/arch/arm/configs/lpd270_defconfig index a3bf5833b87a..1a38d8e3fe66 100644 --- a/arch/arm/configs/lpd270_defconfig +++ b/arch/arm/configs/lpd270_defconfig | |||
@@ -173,7 +173,6 @@ CONFIG_XSCALE_PMU=y | |||
173 | # Kernel Features | 173 | # Kernel Features |
174 | # | 174 | # |
175 | # CONFIG_PREEMPT is not set | 175 | # CONFIG_PREEMPT is not set |
176 | # CONFIG_NO_IDLE_HZ is not set | ||
177 | CONFIG_HZ=100 | 176 | CONFIG_HZ=100 |
178 | # CONFIG_AEABI is not set | 177 | # CONFIG_AEABI is not set |
179 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 178 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/lpd7a404_defconfig b/arch/arm/configs/lpd7a404_defconfig index 46a0f7fe1fa5..7a2e932da1c6 100644 --- a/arch/arm/configs/lpd7a404_defconfig +++ b/arch/arm/configs/lpd7a404_defconfig | |||
@@ -148,7 +148,6 @@ CONFIG_ARM_AMBA=y | |||
148 | # Kernel Features | 148 | # Kernel Features |
149 | # | 149 | # |
150 | CONFIG_PREEMPT=y | 150 | CONFIG_PREEMPT=y |
151 | # CONFIG_NO_IDLE_HZ is not set | ||
152 | # CONFIG_AEABI is not set | 151 | # CONFIG_AEABI is not set |
153 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | 152 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y |
154 | CONFIG_SELECT_MEMORY_MODEL=y | 153 | CONFIG_SELECT_MEMORY_MODEL=y |
diff --git a/arch/arm/configs/netx_defconfig b/arch/arm/configs/netx_defconfig index 57f32f39d0ff..0884f2370c3a 100644 --- a/arch/arm/configs/netx_defconfig +++ b/arch/arm/configs/netx_defconfig | |||
@@ -154,7 +154,6 @@ CONFIG_ARM_AMBA=y | |||
154 | # Kernel Features | 154 | # Kernel Features |
155 | # | 155 | # |
156 | CONFIG_PREEMPT=y | 156 | CONFIG_PREEMPT=y |
157 | # CONFIG_NO_IDLE_HZ is not set | ||
158 | CONFIG_HZ=100 | 157 | CONFIG_HZ=100 |
159 | # CONFIG_AEABI is not set | 158 | # CONFIG_AEABI is not set |
160 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 159 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/onearm_defconfig b/arch/arm/configs/onearm_defconfig index 650a248613e5..418ca2febbe3 100644 --- a/arch/arm/configs/onearm_defconfig +++ b/arch/arm/configs/onearm_defconfig | |||
@@ -202,7 +202,6 @@ CONFIG_AT91_CF=y | |||
202 | # Kernel Features | 202 | # Kernel Features |
203 | # | 203 | # |
204 | # CONFIG_PREEMPT is not set | 204 | # CONFIG_PREEMPT is not set |
205 | # CONFIG_NO_IDLE_HZ is not set | ||
206 | CONFIG_HZ=100 | 205 | CONFIG_HZ=100 |
207 | # CONFIG_AEABI is not set | 206 | # CONFIG_AEABI is not set |
208 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 207 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/picotux200_defconfig b/arch/arm/configs/picotux200_defconfig index 95a22f512805..14826f0dabde 100644 --- a/arch/arm/configs/picotux200_defconfig +++ b/arch/arm/configs/picotux200_defconfig | |||
@@ -201,7 +201,6 @@ CONFIG_ARM_THUMB=y | |||
201 | # Kernel Features | 201 | # Kernel Features |
202 | # | 202 | # |
203 | # CONFIG_PREEMPT is not set | 203 | # CONFIG_PREEMPT is not set |
204 | CONFIG_NO_IDLE_HZ=y | ||
205 | CONFIG_HZ=100 | 204 | CONFIG_HZ=100 |
206 | CONFIG_AEABI=y | 205 | CONFIG_AEABI=y |
207 | CONFIG_OABI_COMPAT=y | 206 | CONFIG_OABI_COMPAT=y |
diff --git a/arch/arm/configs/pnx4008_defconfig b/arch/arm/configs/pnx4008_defconfig index b5e11aa2e290..811b8f60d19d 100644 --- a/arch/arm/configs/pnx4008_defconfig +++ b/arch/arm/configs/pnx4008_defconfig | |||
@@ -151,7 +151,6 @@ CONFIG_ARM_THUMB=y | |||
151 | # Kernel Features | 151 | # Kernel Features |
152 | # | 152 | # |
153 | CONFIG_PREEMPT=y | 153 | CONFIG_PREEMPT=y |
154 | # CONFIG_NO_IDLE_HZ is not set | ||
155 | CONFIG_HZ=100 | 154 | CONFIG_HZ=100 |
156 | # CONFIG_AEABI is not set | 155 | # CONFIG_AEABI is not set |
157 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 156 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/realview-smp_defconfig b/arch/arm/configs/realview-smp_defconfig index fc39ba1a89f3..0c09b23167ec 100644 --- a/arch/arm/configs/realview-smp_defconfig +++ b/arch/arm/configs/realview-smp_defconfig | |||
@@ -177,7 +177,6 @@ CONFIG_NR_CPUS=4 | |||
177 | CONFIG_HOTPLUG_CPU=y | 177 | CONFIG_HOTPLUG_CPU=y |
178 | CONFIG_LOCAL_TIMERS=y | 178 | CONFIG_LOCAL_TIMERS=y |
179 | # CONFIG_PREEMPT is not set | 179 | # CONFIG_PREEMPT is not set |
180 | # CONFIG_NO_IDLE_HZ is not set | ||
181 | CONFIG_HZ=100 | 180 | CONFIG_HZ=100 |
182 | # CONFIG_AEABI is not set | 181 | # CONFIG_AEABI is not set |
183 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 182 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/realview_defconfig b/arch/arm/configs/realview_defconfig index accbf529ce5b..907e54344dad 100644 --- a/arch/arm/configs/realview_defconfig +++ b/arch/arm/configs/realview_defconfig | |||
@@ -126,7 +126,6 @@ CONFIG_ISA_DMA_API=y | |||
126 | # | 126 | # |
127 | # Kernel Features | 127 | # Kernel Features |
128 | # | 128 | # |
129 | # CONFIG_NO_IDLE_HZ is not set | ||
130 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 129 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
131 | CONFIG_FLATMEM=y | 130 | CONFIG_FLATMEM=y |
132 | CONFIG_FLAT_NODE_MEM_MAP=y | 131 | CONFIG_FLAT_NODE_MEM_MAP=y |
diff --git a/arch/arm/configs/rpc_defconfig b/arch/arm/configs/rpc_defconfig index 5ddecb9ddf01..f62d1817d2c6 100644 --- a/arch/arm/configs/rpc_defconfig +++ b/arch/arm/configs/rpc_defconfig | |||
@@ -190,7 +190,6 @@ CONFIG_ISA_DMA_API=y | |||
190 | # | 190 | # |
191 | # CONFIG_TICK_ONESHOT is not set | 191 | # CONFIG_TICK_ONESHOT is not set |
192 | # CONFIG_PREEMPT is not set | 192 | # CONFIG_PREEMPT is not set |
193 | # CONFIG_NO_IDLE_HZ is not set | ||
194 | CONFIG_HZ=100 | 193 | CONFIG_HZ=100 |
195 | # CONFIG_AEABI is not set | 194 | # CONFIG_AEABI is not set |
196 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 195 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/s3c2410_defconfig b/arch/arm/configs/s3c2410_defconfig index f8a1645b3d4a..6d03763773bf 100644 --- a/arch/arm/configs/s3c2410_defconfig +++ b/arch/arm/configs/s3c2410_defconfig | |||
@@ -246,7 +246,6 @@ CONFIG_ISA=y | |||
246 | # Kernel Features | 246 | # Kernel Features |
247 | # | 247 | # |
248 | # CONFIG_PREEMPT is not set | 248 | # CONFIG_PREEMPT is not set |
249 | # CONFIG_NO_IDLE_HZ is not set | ||
250 | CONFIG_HZ=200 | 249 | CONFIG_HZ=200 |
251 | # CONFIG_AEABI is not set | 250 | # CONFIG_AEABI is not set |
252 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 251 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/sam9_l9260_defconfig b/arch/arm/configs/sam9_l9260_defconfig index 484dc9739dfc..8688362bcf7b 100644 --- a/arch/arm/configs/sam9_l9260_defconfig +++ b/arch/arm/configs/sam9_l9260_defconfig | |||
@@ -211,7 +211,6 @@ CONFIG_ARM_THUMB=y | |||
211 | # | 211 | # |
212 | # CONFIG_TICK_ONESHOT is not set | 212 | # CONFIG_TICK_ONESHOT is not set |
213 | CONFIG_PREEMPT=y | 213 | CONFIG_PREEMPT=y |
214 | # CONFIG_NO_IDLE_HZ is not set | ||
215 | CONFIG_HZ=100 | 214 | CONFIG_HZ=100 |
216 | # CONFIG_AEABI is not set | 215 | # CONFIG_AEABI is not set |
217 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 216 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/spitz_defconfig b/arch/arm/configs/spitz_defconfig index aa7a01179500..7d59fb1f1cea 100644 --- a/arch/arm/configs/spitz_defconfig +++ b/arch/arm/configs/spitz_defconfig | |||
@@ -164,7 +164,6 @@ CONFIG_PCMCIA_PXA2XX=y | |||
164 | # Kernel Features | 164 | # Kernel Features |
165 | # | 165 | # |
166 | CONFIG_PREEMPT=y | 166 | CONFIG_PREEMPT=y |
167 | # CONFIG_NO_IDLE_HZ is not set | ||
168 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 167 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
169 | CONFIG_SELECT_MEMORY_MODEL=y | 168 | CONFIG_SELECT_MEMORY_MODEL=y |
170 | CONFIG_FLATMEM_MANUAL=y | 169 | CONFIG_FLATMEM_MANUAL=y |
diff --git a/arch/arm/configs/tct_hammer_defconfig b/arch/arm/configs/tct_hammer_defconfig index 576b8339f0d6..07dfb98df4f0 100644 --- a/arch/arm/configs/tct_hammer_defconfig +++ b/arch/arm/configs/tct_hammer_defconfig | |||
@@ -247,7 +247,6 @@ CONFIG_ARM_THUMB=y | |||
247 | # | 247 | # |
248 | # CONFIG_TICK_ONESHOT is not set | 248 | # CONFIG_TICK_ONESHOT is not set |
249 | # CONFIG_PREEMPT is not set | 249 | # CONFIG_PREEMPT is not set |
250 | # CONFIG_NO_IDLE_HZ is not set | ||
251 | CONFIG_HZ=200 | 250 | CONFIG_HZ=200 |
252 | # CONFIG_AEABI is not set | 251 | # CONFIG_AEABI is not set |
253 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 252 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/configs/trizeps4_defconfig b/arch/arm/configs/trizeps4_defconfig index 6db6392806f9..8b7a431a8bfc 100644 --- a/arch/arm/configs/trizeps4_defconfig +++ b/arch/arm/configs/trizeps4_defconfig | |||
@@ -195,7 +195,6 @@ CONFIG_PCMCIA_PXA2XX=y | |||
195 | # Kernel Features | 195 | # Kernel Features |
196 | # | 196 | # |
197 | CONFIG_PREEMPT=y | 197 | CONFIG_PREEMPT=y |
198 | # CONFIG_NO_IDLE_HZ is not set | ||
199 | CONFIG_HZ=100 | 198 | CONFIG_HZ=100 |
200 | CONFIG_AEABI=y | 199 | CONFIG_AEABI=y |
201 | CONFIG_OABI_COMPAT=y | 200 | CONFIG_OABI_COMPAT=y |
diff --git a/arch/arm/configs/versatile_defconfig b/arch/arm/configs/versatile_defconfig index 48dca69addae..8355f88f7292 100644 --- a/arch/arm/configs/versatile_defconfig +++ b/arch/arm/configs/versatile_defconfig | |||
@@ -151,7 +151,6 @@ CONFIG_ARM_AMBA=y | |||
151 | # Kernel Features | 151 | # Kernel Features |
152 | # | 152 | # |
153 | # CONFIG_PREEMPT is not set | 153 | # CONFIG_PREEMPT is not set |
154 | # CONFIG_NO_IDLE_HZ is not set | ||
155 | CONFIG_HZ=100 | 154 | CONFIG_HZ=100 |
156 | # CONFIG_AEABI is not set | 155 | # CONFIG_AEABI is not set |
157 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 156 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 46bf2ede6128..199b3680118b 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
@@ -133,10 +133,8 @@ static void default_idle(void) | |||
133 | cpu_relax(); | 133 | cpu_relax(); |
134 | else { | 134 | else { |
135 | local_irq_disable(); | 135 | local_irq_disable(); |
136 | if (!need_resched()) { | 136 | if (!need_resched()) |
137 | timer_dyn_reprogram(); | ||
138 | arch_idle(); | 137 | arch_idle(); |
139 | } | ||
140 | local_irq_enable(); | 138 | local_irq_enable(); |
141 | } | 139 | } |
142 | } | 140 | } |
diff --git a/arch/arm/kernel/time.c b/arch/arm/kernel/time.c index b5867eca1d0b..cc5145b28e7f 100644 --- a/arch/arm/kernel/time.c +++ b/arch/arm/kernel/time.c | |||
@@ -365,108 +365,6 @@ static struct sysdev_class timer_sysclass = { | |||
365 | .resume = timer_resume, | 365 | .resume = timer_resume, |
366 | }; | 366 | }; |
367 | 367 | ||
368 | #ifdef CONFIG_NO_IDLE_HZ | ||
369 | static int timer_dyn_tick_enable(void) | ||
370 | { | ||
371 | struct dyn_tick_timer *dyn_tick = system_timer->dyn_tick; | ||
372 | unsigned long flags; | ||
373 | int ret = -ENODEV; | ||
374 | |||
375 | if (dyn_tick) { | ||
376 | spin_lock_irqsave(&dyn_tick->lock, flags); | ||
377 | ret = 0; | ||
378 | if (!(dyn_tick->state & DYN_TICK_ENABLED)) { | ||
379 | ret = dyn_tick->enable(); | ||
380 | |||
381 | if (ret == 0) | ||
382 | dyn_tick->state |= DYN_TICK_ENABLED; | ||
383 | } | ||
384 | spin_unlock_irqrestore(&dyn_tick->lock, flags); | ||
385 | } | ||
386 | |||
387 | return ret; | ||
388 | } | ||
389 | |||
390 | static int timer_dyn_tick_disable(void) | ||
391 | { | ||
392 | struct dyn_tick_timer *dyn_tick = system_timer->dyn_tick; | ||
393 | unsigned long flags; | ||
394 | int ret = -ENODEV; | ||
395 | |||
396 | if (dyn_tick) { | ||
397 | spin_lock_irqsave(&dyn_tick->lock, flags); | ||
398 | ret = 0; | ||
399 | if (dyn_tick->state & DYN_TICK_ENABLED) { | ||
400 | ret = dyn_tick->disable(); | ||
401 | |||
402 | if (ret == 0) | ||
403 | dyn_tick->state &= ~DYN_TICK_ENABLED; | ||
404 | } | ||
405 | spin_unlock_irqrestore(&dyn_tick->lock, flags); | ||
406 | } | ||
407 | |||
408 | return ret; | ||
409 | } | ||
410 | |||
411 | /* | ||
412 | * Reprogram the system timer for at least the calculated time interval. | ||
413 | * This function should be called from the idle thread with IRQs disabled, | ||
414 | * immediately before sleeping. | ||
415 | */ | ||
416 | void timer_dyn_reprogram(void) | ||
417 | { | ||
418 | struct dyn_tick_timer *dyn_tick = system_timer->dyn_tick; | ||
419 | unsigned long next, seq, flags; | ||
420 | |||
421 | if (!dyn_tick) | ||
422 | return; | ||
423 | |||
424 | spin_lock_irqsave(&dyn_tick->lock, flags); | ||
425 | if (dyn_tick->state & DYN_TICK_ENABLED) { | ||
426 | next = next_timer_interrupt(); | ||
427 | do { | ||
428 | seq = read_seqbegin(&xtime_lock); | ||
429 | dyn_tick->reprogram(next - jiffies); | ||
430 | } while (read_seqretry(&xtime_lock, seq)); | ||
431 | } | ||
432 | spin_unlock_irqrestore(&dyn_tick->lock, flags); | ||
433 | } | ||
434 | |||
435 | static ssize_t timer_show_dyn_tick(struct sys_device *dev, char *buf) | ||
436 | { | ||
437 | return sprintf(buf, "%i\n", | ||
438 | (system_timer->dyn_tick->state & DYN_TICK_ENABLED) >> 1); | ||
439 | } | ||
440 | |||
441 | static ssize_t timer_set_dyn_tick(struct sys_device *dev, const char *buf, | ||
442 | size_t count) | ||
443 | { | ||
444 | unsigned int enable = simple_strtoul(buf, NULL, 2); | ||
445 | |||
446 | if (enable) | ||
447 | timer_dyn_tick_enable(); | ||
448 | else | ||
449 | timer_dyn_tick_disable(); | ||
450 | |||
451 | return count; | ||
452 | } | ||
453 | static SYSDEV_ATTR(dyn_tick, 0644, timer_show_dyn_tick, timer_set_dyn_tick); | ||
454 | |||
455 | /* | ||
456 | * dyntick=enable|disable | ||
457 | */ | ||
458 | static char dyntick_str[4] __initdata = ""; | ||
459 | |||
460 | static int __init dyntick_setup(char *str) | ||
461 | { | ||
462 | if (str) | ||
463 | strlcpy(dyntick_str, str, sizeof(dyntick_str)); | ||
464 | return 1; | ||
465 | } | ||
466 | |||
467 | __setup("dyntick=", dyntick_setup); | ||
468 | #endif | ||
469 | |||
470 | static int __init timer_init_sysfs(void) | 368 | static int __init timer_init_sysfs(void) |
471 | { | 369 | { |
472 | int ret = sysdev_class_register(&timer_sysclass); | 370 | int ret = sysdev_class_register(&timer_sysclass); |
@@ -475,19 +373,6 @@ static int __init timer_init_sysfs(void) | |||
475 | ret = sysdev_register(&system_timer->dev); | 373 | ret = sysdev_register(&system_timer->dev); |
476 | } | 374 | } |
477 | 375 | ||
478 | #ifdef CONFIG_NO_IDLE_HZ | ||
479 | if (ret == 0 && system_timer->dyn_tick) { | ||
480 | ret = sysdev_create_file(&system_timer->dev, &attr_dyn_tick); | ||
481 | |||
482 | /* | ||
483 | * Turn on dynamic tick after calibrate delay | ||
484 | * for correct bogomips | ||
485 | */ | ||
486 | if (ret == 0 && dyntick_str[0] == 'e') | ||
487 | ret = timer_dyn_tick_enable(); | ||
488 | } | ||
489 | #endif | ||
490 | |||
491 | return ret; | 376 | return ret; |
492 | } | 377 | } |
493 | 378 | ||
@@ -500,10 +385,5 @@ void __init time_init(void) | |||
500 | system_timer->offset = dummy_gettimeoffset; | 385 | system_timer->offset = dummy_gettimeoffset; |
501 | #endif | 386 | #endif |
502 | system_timer->init(); | 387 | system_timer->init(); |
503 | |||
504 | #ifdef CONFIG_NO_IDLE_HZ | ||
505 | if (system_timer->dyn_tick) | ||
506 | spin_lock_init(&system_timer->dyn_tick->lock); | ||
507 | #endif | ||
508 | } | 388 | } |
509 | 389 | ||
diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c index e6c64e10b7ec..742f79e73bd7 100644 --- a/arch/arm/mach-omap1/pm.c +++ b/arch/arm/mach-omap1/pm.c | |||
@@ -116,13 +116,6 @@ void omap_pm_idle(void) | |||
116 | return; | 116 | return; |
117 | } | 117 | } |
118 | 118 | ||
119 | /* | ||
120 | * Since an interrupt may set up a timer, we don't want to | ||
121 | * reprogram the hardware timer with interrupts enabled. | ||
122 | * Re-enable interrupts only after returning from idle. | ||
123 | */ | ||
124 | timer_dyn_reprogram(); | ||
125 | |||
126 | #ifdef CONFIG_OMAP_MPU_TIMER | 119 | #ifdef CONFIG_OMAP_MPU_TIMER |
127 | #warning Enable 32kHz OS timer in order to allow sleep states in idle | 120 | #warning Enable 32kHz OS timer in order to allow sleep states in idle |
128 | use_idlect1 = use_idlect1 & ~(1 << 9); | 121 | use_idlect1 = use_idlect1 & ~(1 << 9); |
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c index aad781dcf1b1..d6c9de82ca0c 100644 --- a/arch/arm/mach-omap2/pm.c +++ b/arch/arm/mach-omap2/pm.c | |||
@@ -57,13 +57,6 @@ void omap2_pm_idle(void) | |||
57 | return; | 57 | return; |
58 | } | 58 | } |
59 | 59 | ||
60 | /* | ||
61 | * Since an interrupt may set up a timer, we don't want to | ||
62 | * reprogram the hardware timer with interrupts enabled. | ||
63 | * Re-enable interrupts only after returning from idle. | ||
64 | */ | ||
65 | timer_dyn_reprogram(); | ||
66 | |||
67 | omap2_sram_idle(); | 60 | omap2_sram_idle(); |
68 | local_fiq_enable(); | 61 | local_fiq_enable(); |
69 | local_irq_enable(); | 62 | local_irq_enable(); |
diff --git a/include/asm-arm/dyntick.h b/include/asm-arm/dyntick.h deleted file mode 100644 index 19fab2d2b760..000000000000 --- a/include/asm-arm/dyntick.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef _ASMARM_DYNTICK_H | ||
2 | #define _ASMARM_DYNTICK_H | ||
3 | |||
4 | #include <asm/mach/time.h> | ||
5 | |||
6 | #endif /* _ASMARM_DYNTICK_H */ | ||
diff --git a/include/asm-arm/hw_irq.h b/include/asm-arm/hw_irq.h index 98d594a973d6..f1a08a500604 100644 --- a/include/asm-arm/hw_irq.h +++ b/include/asm-arm/hw_irq.h | |||
@@ -6,15 +6,4 @@ | |||
6 | 6 | ||
7 | #include <asm/mach/irq.h> | 7 | #include <asm/mach/irq.h> |
8 | 8 | ||
9 | #if defined(CONFIG_NO_IDLE_HZ) | ||
10 | # include <asm/dyntick.h> | ||
11 | # define handle_dynamic_tick(action) \ | ||
12 | if (!(action->flags & IRQF_TIMER) && system_timer->dyn_tick) { \ | ||
13 | write_seqlock(&xtime_lock); \ | ||
14 | if (system_timer->dyn_tick->state & DYN_TICK_ENABLED) \ | ||
15 | system_timer->dyn_tick->handler(irq, NULL); \ | ||
16 | write_sequnlock(&xtime_lock); \ | ||
17 | } | ||
18 | #endif | ||
19 | |||
20 | #endif | 9 | #endif |
diff --git a/include/asm-arm/mach/time.h b/include/asm-arm/mach/time.h index 5dc357013b79..2fd36ea0130d 100644 --- a/include/asm-arm/mach/time.h +++ b/include/asm-arm/mach/time.h | |||
@@ -41,30 +41,8 @@ struct sys_timer { | |||
41 | #ifndef CONFIG_GENERIC_TIME | 41 | #ifndef CONFIG_GENERIC_TIME |
42 | unsigned long (*offset)(void); | 42 | unsigned long (*offset)(void); |
43 | #endif | 43 | #endif |
44 | |||
45 | #ifdef CONFIG_NO_IDLE_HZ | ||
46 | struct dyn_tick_timer *dyn_tick; | ||
47 | #endif | ||
48 | }; | ||
49 | |||
50 | #ifdef CONFIG_NO_IDLE_HZ | ||
51 | |||
52 | #define DYN_TICK_ENABLED (1 << 1) | ||
53 | |||
54 | struct dyn_tick_timer { | ||
55 | spinlock_t lock; | ||
56 | unsigned int state; /* Current state */ | ||
57 | int (*enable)(void); /* Enables dynamic tick */ | ||
58 | int (*disable)(void); /* Disables dynamic tick */ | ||
59 | void (*reprogram)(unsigned long); /* Reprograms the timer */ | ||
60 | int (*handler)(int, void *); | ||
61 | }; | 44 | }; |
62 | 45 | ||
63 | void timer_dyn_reprogram(void); | ||
64 | #else | ||
65 | #define timer_dyn_reprogram() do { } while (0) | ||
66 | #endif | ||
67 | |||
68 | extern struct sys_timer *system_timer; | 46 | extern struct sys_timer *system_timer; |
69 | extern void timer_tick(void); | 47 | extern void timer_tick(void); |
70 | 48 | ||