diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2012-01-18 10:05:11 -0500 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2012-02-03 06:34:27 -0500 |
commit | 6905a65879b51d326396e63dfea40861a30bc17f (patch) | |
tree | 45551c601c45cbfcfe87d346bb5c59fcbdd6d4fe | |
parent | bc8d849d9171a2014f8e9b0322f3ac5af9d3f2b2 (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/Kconfig | 18 | ||||
-rw-r--r-- | arch/arm/kernel/Makefile | 5 | ||||
-rw-r--r-- | arch/arm/kernel/time.c | 2 | ||||
-rw-r--r-- | arch/arm/plat-nomadik/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/plat-versatile/Kconfig | 1 |
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 | |||
52 | config SYS_SUPPORTS_APM_EMULATION | 52 | config SYS_SUPPORTS_APM_EMULATION |
53 | bool | 53 | bool |
54 | 54 | ||
55 | config HAVE_SCHED_CLOCK | ||
56 | bool | ||
57 | |||
58 | config GENERIC_GPIO | 55 | config 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 | |||
1114 | config PLAT_IOP | 1098 | config PLAT_IOP |
1115 | bool | 1099 | bool |
1116 | select GENERIC_CLOCKEVENTS | 1100 | select GENERIC_CLOCKEVENTS |
1117 | select HAVE_SCHED_CLOCK | ||
1118 | 1101 | ||
1119 | config PLAT_ORION | 1102 | config 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 | ||
1125 | config PLAT_PXA | 1107 | config 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 | ||
16 | obj-y := elf.o entry-armv.o entry-common.o irq.o opcodes.o \ | 16 | obj-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 | ||
20 | obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += compat.o | 20 | obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += compat.o |
21 | 21 | ||
@@ -30,7 +30,6 @@ obj-$(CONFIG_ARTHUR) += arthur.o | |||
30 | obj-$(CONFIG_ISA_DMA) += dma-isa.o | 30 | obj-$(CONFIG_ISA_DMA) += dma-isa.o |
31 | obj-$(CONFIG_PCI) += bios32.o isa.o | 31 | obj-$(CONFIG_PCI) += bios32.o isa.o |
32 | obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o suspend.o | 32 | obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o suspend.o |
33 | obj-$(CONFIG_HAVE_SCHED_CLOCK) += sched_clock.o | ||
34 | obj-$(CONFIG_SMP) += smp.o smp_tlb.o | 33 | obj-$(CONFIG_SMP) += smp.o smp_tlb.o |
35 | obj-$(CONFIG_HAVE_ARM_SCU) += smp_scu.o | 34 | obj-$(CONFIG_HAVE_ARM_SCU) += smp_scu.o |
36 | obj-$(CONFIG_HAVE_ARM_TWD) += smp_twd.o | 35 | obj-$(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 | |||
23 | config NOMADIK_MTU_SCHED_CLOCK | 23 | config 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 | ||
13 | config PLAT_VERSATILE_SCHED_CLOCK | 13 | config 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 | ||
17 | endif | 16 | endif |