aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2012-01-18 10:05:11 -0500
committerMarc Zyngier <marc.zyngier@arm.com>2012-02-03 06:34:27 -0500
commit6905a65879b51d326396e63dfea40861a30bc17f (patch)
tree45551c601c45cbfcfe87d346bb5c59fcbdd6d4fe
parentbc8d849d9171a2014f8e9b0322f3ac5af9d3f2b2 (diff)
ARM: Make the sched_clock framework mandatory
All sched_clock() providers have been converted to the sched_clock framework, which also provides a jiffy based implementation for the platforms that do not provide a counter. It is now possible to make the sched_clock framework mandatory, effectively preventing new platforms to add new sched_clock() functions, which would be detrimental to the single zImage work. Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
-rw-r--r--arch/arm/Kconfig18
-rw-r--r--arch/arm/kernel/Makefile5
-rw-r--r--arch/arm/kernel/time.c2
-rw-r--r--arch/arm/plat-nomadik/Kconfig1
-rw-r--r--arch/arm/plat-versatile/Kconfig1
5 files changed, 2 insertions, 25 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index a18550ee2f28..d1fcfe066830 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -52,9 +52,6 @@ config MIGHT_HAVE_PCI
52config SYS_SUPPORTS_APM_EMULATION 52config SYS_SUPPORTS_APM_EMULATION
53 bool 53 bool
54 54
55config HAVE_SCHED_CLOCK
56 bool
57
58config GENERIC_GPIO 55config GENERIC_GPIO
59 bool 56 bool
60 57
@@ -388,7 +385,6 @@ config ARCH_PRIMA2
388 select GENERIC_CLOCKEVENTS 385 select GENERIC_CLOCKEVENTS
389 select CLKDEV_LOOKUP 386 select CLKDEV_LOOKUP
390 select GENERIC_IRQ_CHIP 387 select GENERIC_IRQ_CHIP
391 select HAVE_SCHED_CLOCK
392 select MIGHT_HAVE_CACHE_L2X0 388 select MIGHT_HAVE_CACHE_L2X0
393 select USE_OF 389 select USE_OF
394 select ZONE_DMA 390 select ZONE_DMA
@@ -439,7 +435,6 @@ config ARCH_MXC
439 select CLKDEV_LOOKUP 435 select CLKDEV_LOOKUP
440 select CLKSRC_MMIO 436 select CLKSRC_MMIO
441 select GENERIC_IRQ_CHIP 437 select GENERIC_IRQ_CHIP
442 select HAVE_SCHED_CLOCK
443 select MULTI_IRQ_HANDLER 438 select MULTI_IRQ_HANDLER
444 help 439 help
445 Support for Freescale MXC/iMX-based family of processors 440 Support for Freescale MXC/iMX-based family of processors
@@ -531,7 +526,6 @@ config ARCH_IXP4XX
531 select CPU_XSCALE 526 select CPU_XSCALE
532 select GENERIC_GPIO 527 select GENERIC_GPIO
533 select GENERIC_CLOCKEVENTS 528 select GENERIC_CLOCKEVENTS
534 select HAVE_SCHED_CLOCK
535 select MIGHT_HAVE_PCI 529 select MIGHT_HAVE_PCI
536 select DMABOUNCE if PCI 530 select DMABOUNCE if PCI
537 help 531 help
@@ -602,7 +596,6 @@ config ARCH_MMP
602 select CLKDEV_LOOKUP 596 select CLKDEV_LOOKUP
603 select GENERIC_CLOCKEVENTS 597 select GENERIC_CLOCKEVENTS
604 select GPIO_PXA 598 select GPIO_PXA
605 select HAVE_SCHED_CLOCK
606 select TICK_ONESHOT 599 select TICK_ONESHOT
607 select PLAT_PXA 600 select PLAT_PXA
608 select SPARSE_IRQ 601 select SPARSE_IRQ
@@ -643,7 +636,6 @@ config ARCH_TEGRA
643 select GENERIC_CLOCKEVENTS 636 select GENERIC_CLOCKEVENTS
644 select GENERIC_GPIO 637 select GENERIC_GPIO
645 select HAVE_CLK 638 select HAVE_CLK
646 select HAVE_SCHED_CLOCK
647 select HAVE_SMP 639 select HAVE_SMP
648 select MIGHT_HAVE_CACHE_L2X0 640 select MIGHT_HAVE_CACHE_L2X0
649 select ARCH_HAS_CPUFREQ 641 select ARCH_HAS_CPUFREQ
@@ -660,7 +652,6 @@ config ARCH_PICOXCELL
660 select DW_APB_TIMER 652 select DW_APB_TIMER
661 select GENERIC_CLOCKEVENTS 653 select GENERIC_CLOCKEVENTS
662 select GENERIC_GPIO 654 select GENERIC_GPIO
663 select HAVE_SCHED_CLOCK
664 select HAVE_TCM 655 select HAVE_TCM
665 select NO_IOPORT 656 select NO_IOPORT
666 select SPARSE_IRQ 657 select SPARSE_IRQ
@@ -688,7 +679,6 @@ config ARCH_PXA
688 select ARCH_REQUIRE_GPIOLIB 679 select ARCH_REQUIRE_GPIOLIB
689 select GENERIC_CLOCKEVENTS 680 select GENERIC_CLOCKEVENTS
690 select GPIO_PXA 681 select GPIO_PXA
691 select HAVE_SCHED_CLOCK
692 select TICK_ONESHOT 682 select TICK_ONESHOT
693 select PLAT_PXA 683 select PLAT_PXA
694 select SPARSE_IRQ 684 select SPARSE_IRQ
@@ -756,7 +746,6 @@ config ARCH_SA1100
756 select CPU_FREQ 746 select CPU_FREQ
757 select GENERIC_CLOCKEVENTS 747 select GENERIC_CLOCKEVENTS
758 select CLKDEV_LOOKUP 748 select CLKDEV_LOOKUP
759 select HAVE_SCHED_CLOCK
760 select TICK_ONESHOT 749 select TICK_ONESHOT
761 select ARCH_REQUIRE_GPIOLIB 750 select ARCH_REQUIRE_GPIOLIB
762 select HAVE_IDE 751 select HAVE_IDE
@@ -813,7 +802,6 @@ config ARCH_S5P64X0
813 select CLKSRC_MMIO 802 select CLKSRC_MMIO
814 select HAVE_S3C2410_WATCHDOG if WATCHDOG 803 select HAVE_S3C2410_WATCHDOG if WATCHDOG
815 select GENERIC_CLOCKEVENTS 804 select GENERIC_CLOCKEVENTS
816 select HAVE_SCHED_CLOCK
817 select HAVE_S3C2410_I2C if I2C 805 select HAVE_S3C2410_I2C if I2C
818 select HAVE_S3C_RTC if RTC_CLASS 806 select HAVE_S3C_RTC if RTC_CLASS
819 help 807 help
@@ -846,7 +834,6 @@ config ARCH_S5PV210
846 select ARM_L1_CACHE_SHIFT_6 834 select ARM_L1_CACHE_SHIFT_6
847 select ARCH_HAS_CPUFREQ 835 select ARCH_HAS_CPUFREQ
848 select GENERIC_CLOCKEVENTS 836 select GENERIC_CLOCKEVENTS
849 select HAVE_SCHED_CLOCK
850 select HAVE_S3C2410_I2C if I2C 837 select HAVE_S3C2410_I2C if I2C
851 select HAVE_S3C_RTC if RTC_CLASS 838 select HAVE_S3C_RTC if RTC_CLASS
852 select HAVE_S3C2410_WATCHDOG if WATCHDOG 839 select HAVE_S3C2410_WATCHDOG if WATCHDOG
@@ -889,7 +876,6 @@ config ARCH_U300
889 depends on MMU 876 depends on MMU
890 select CLKSRC_MMIO 877 select CLKSRC_MMIO
891 select CPU_ARM926T 878 select CPU_ARM926T
892 select HAVE_SCHED_CLOCK
893 select HAVE_TCM 879 select HAVE_TCM
894 select ARM_AMBA 880 select ARM_AMBA
895 select ARM_PATCH_PHYS_VIRT 881 select ARM_PATCH_PHYS_VIRT
@@ -933,7 +919,6 @@ config ARCH_DAVINCI
933 select ARCH_REQUIRE_GPIOLIB 919 select ARCH_REQUIRE_GPIOLIB
934 select ZONE_DMA 920 select ZONE_DMA
935 select HAVE_IDE 921 select HAVE_IDE
936 select HAVE_SCHED_CLOCK
937 select CLKDEV_LOOKUP 922 select CLKDEV_LOOKUP
938 select GENERIC_ALLOCATOR 923 select GENERIC_ALLOCATOR
939 select GENERIC_IRQ_CHIP 924 select GENERIC_IRQ_CHIP
@@ -948,7 +933,6 @@ config ARCH_OMAP
948 select ARCH_HAS_CPUFREQ 933 select ARCH_HAS_CPUFREQ
949 select CLKSRC_MMIO 934 select CLKSRC_MMIO
950 select GENERIC_CLOCKEVENTS 935 select GENERIC_CLOCKEVENTS
951 select HAVE_SCHED_CLOCK
952 select ARCH_HAS_HOLES_MEMORYMODEL 936 select ARCH_HAS_HOLES_MEMORYMODEL
953 help 937 help
954 Support for TI's OMAP platform (OMAP1/2/3/4). 938 Support for TI's OMAP platform (OMAP1/2/3/4).
@@ -1114,13 +1098,11 @@ config ARCH_ACORN
1114config PLAT_IOP 1098config PLAT_IOP
1115 bool 1099 bool
1116 select GENERIC_CLOCKEVENTS 1100 select GENERIC_CLOCKEVENTS
1117 select HAVE_SCHED_CLOCK
1118 1101
1119config PLAT_ORION 1102config PLAT_ORION
1120 bool 1103 bool
1121 select CLKSRC_MMIO 1104 select CLKSRC_MMIO
1122 select GENERIC_IRQ_CHIP 1105 select GENERIC_IRQ_CHIP
1123 select HAVE_SCHED_CLOCK
1124 1106
1125config PLAT_PXA 1107config PLAT_PXA
1126 bool 1108 bool
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
index 43b740d0e374..9b0eb3febcb0 100644
--- a/arch/arm/kernel/Makefile
+++ b/arch/arm/kernel/Makefile
@@ -14,8 +14,8 @@ CFLAGS_REMOVE_return_address.o = -pg
14# Object file lists. 14# Object file lists.
15 15
16obj-y := elf.o entry-armv.o entry-common.o irq.o opcodes.o \ 16obj-y := elf.o entry-armv.o entry-common.o irq.o opcodes.o \
17 process.o ptrace.o return_address.o setup.o signal.o \ 17 process.o ptrace.o return_address.o sched_clock.o \
18 sys_arm.o stacktrace.o time.o traps.o 18 setup.o signal.o stacktrace.o sys_arm.o time.o traps.o
19 19
20obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += compat.o 20obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += compat.o
21 21
@@ -30,7 +30,6 @@ obj-$(CONFIG_ARTHUR) += arthur.o
30obj-$(CONFIG_ISA_DMA) += dma-isa.o 30obj-$(CONFIG_ISA_DMA) += dma-isa.o
31obj-$(CONFIG_PCI) += bios32.o isa.o 31obj-$(CONFIG_PCI) += bios32.o isa.o
32obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o suspend.o 32obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o suspend.o
33obj-$(CONFIG_HAVE_SCHED_CLOCK) += sched_clock.o
34obj-$(CONFIG_SMP) += smp.o smp_tlb.o 33obj-$(CONFIG_SMP) += smp.o smp_tlb.o
35obj-$(CONFIG_HAVE_ARM_SCU) += smp_scu.o 34obj-$(CONFIG_HAVE_ARM_SCU) += smp_scu.o
36obj-$(CONFIG_HAVE_ARM_TWD) += smp_twd.o 35obj-$(CONFIG_HAVE_ARM_TWD) += smp_twd.o
diff --git a/arch/arm/kernel/time.c b/arch/arm/kernel/time.c
index 8c57dd3680e9..5bff28839cb2 100644
--- a/arch/arm/kernel/time.c
+++ b/arch/arm/kernel/time.c
@@ -149,8 +149,6 @@ void __init time_init(void)
149{ 149{
150 system_timer = machine_desc->timer; 150 system_timer = machine_desc->timer;
151 system_timer->init(); 151 system_timer->init();
152#ifdef CONFIG_HAVE_SCHED_CLOCK
153 sched_clock_postinit(); 152 sched_clock_postinit();
154#endif
155} 153}
156 154
diff --git a/arch/arm/plat-nomadik/Kconfig b/arch/arm/plat-nomadik/Kconfig
index bca4914b4b9d..4c48c8b60b54 100644
--- a/arch/arm/plat-nomadik/Kconfig
+++ b/arch/arm/plat-nomadik/Kconfig
@@ -23,7 +23,6 @@ config HAS_MTU
23config NOMADIK_MTU_SCHED_CLOCK 23config NOMADIK_MTU_SCHED_CLOCK
24 bool 24 bool
25 depends on HAS_MTU 25 depends on HAS_MTU
26 select HAVE_SCHED_CLOCK
27 help 26 help
28 Use the Multi Timer Unit as the sched_clock. 27 Use the Multi Timer Unit as the sched_clock.
29 28
diff --git a/arch/arm/plat-versatile/Kconfig b/arch/arm/plat-versatile/Kconfig
index 52353beb369d..c6f4b9625e71 100644
--- a/arch/arm/plat-versatile/Kconfig
+++ b/arch/arm/plat-versatile/Kconfig
@@ -12,6 +12,5 @@ config PLAT_VERSATILE_LEDS
12 12
13config PLAT_VERSATILE_SCHED_CLOCK 13config PLAT_VERSATILE_SCHED_CLOCK
14 def_bool y if !ARCH_INTEGRATOR_AP 14 def_bool y if !ARCH_INTEGRATOR_AP
15 select HAVE_SCHED_CLOCK
16 15
17endif 16endif