lkml.org 
[lkml]   [2015]   [May]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:timers/core] time: Move timeconst.h into include/generated
    Commit-ID:  0a227985d4a993a322ff72ecbaeee2611d624216
    Gitweb: http://git.kernel.org/tip/0a227985d4a993a322ff72ecbaeee2611d624216
    Author: Nicholas Mc Guire <hofrat@osadl.org>
    AuthorDate: Mon, 18 May 2015 14:19:12 +0200
    Committer: Thomas Gleixner <tglx@linutronix.de>
    CommitDate: Tue, 19 May 2015 15:13:45 +0200

    time: Move timeconst.h into include/generated

    kernel/time/timeconst.h is moved to include/generated/ and generated
    by the top level Kbuild. This allows using timeconst.h in an earlier
    build stage.

    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Cc: Joe Perches <joe@perches.com>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Andrew Hunter <ahh@google.com>
    Cc: Paul Turner <pjt@google.com>
    Cc: Michal Marek <mmarek@suse.cz>
    Link: http://lkml.kernel.org/r/1431951554-5563-1-git-send-email-hofrat@osadl.org
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    ---
    Kbuild | 34 +++++++++++++++++++++++++++-------
    kernel/time/Makefile | 17 +----------------
    kernel/time/time.c | 2 +-
    kernel/time/timeconst.bc | 3 ++-
    4 files changed, 31 insertions(+), 25 deletions(-)

    diff --git a/Kbuild b/Kbuild
    index 6f0d82a..df99a5f 100644
    --- a/Kbuild
    +++ b/Kbuild
    @@ -2,8 +2,9 @@
    # Kbuild for top-level directory of the kernel
    # This file takes care of the following:
    # 1) Generate bounds.h
    -# 2) Generate asm-offsets.h (may need bounds.h)
    -# 3) Check for missing system calls
    +# 2) Generate timeconst.h
    +# 3) Generate asm-offsets.h (may need bounds.h and timeconst.h)
    +# 4) Check for missing system calls

    # Default sed regexp - multiline due to syntax constraints
    define sed-y
    @@ -47,7 +48,26 @@ $(obj)/$(bounds-file): kernel/bounds.s FORCE
    $(call filechk,offsets,__LINUX_BOUNDS_H__)

    #####
    -# 2) Generate asm-offsets.h
    +# 2) Generate timeconst.h
    +
    +timeconst-file := include/generated/timeconst.h
    +
    +#always += $(timeconst-file)
    +targets += $(timeconst-file)
    +
    +quiet_cmd_gentimeconst = GEN $@
    +define cmd_gentimeconst
    + (echo $(CONFIG_HZ) | bc -q $< ) > $@
    +endef
    +define filechk_gentimeconst
    + (echo $(CONFIG_HZ) | bc -q $< )
    +endef
    +
    +$(obj)/$(timeconst-file): kernel/time/timeconst.bc FORCE
    + $(call filechk,gentimeconst)
    +
    +#####
    +# 3) Generate asm-offsets.h
    #

    offsets-file := include/generated/asm-offsets.h
    @@ -57,7 +77,7 @@ targets += arch/$(SRCARCH)/kernel/asm-offsets.s

    # We use internal kbuild rules to avoid the "is up to date" message from make
    arch/$(SRCARCH)/kernel/asm-offsets.s: arch/$(SRCARCH)/kernel/asm-offsets.c \
    - $(obj)/$(bounds-file) FORCE
    + $(obj)/$(timeconst-file) $(obj)/$(bounds-file) FORCE
    $(Q)mkdir -p $(dir $@)
    $(call if_changed_dep,cc_s_c)

    @@ -65,7 +85,7 @@ $(obj)/$(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s FORCE
    $(call filechk,offsets,__ASM_OFFSETS_H__)

    #####
    -# 3) Check for missing system calls
    +# 4) Check for missing system calls
    #

    always += missing-syscalls
    @@ -77,5 +97,5 @@ quiet_cmd_syscalls = CALL $<
    missing-syscalls: scripts/checksyscalls.sh $(offsets-file) FORCE
    $(call cmd,syscalls)

    -# Keep these two files during make clean
    -no-clean-files := $(bounds-file) $(offsets-file)
    +# Keep these three files during make clean
    +no-clean-files := $(bounds-file) $(offsets-file) $(timeconst-file)
    diff --git a/kernel/time/Makefile b/kernel/time/Makefile
    index 01f0312..ffc4cc3 100644
    --- a/kernel/time/Makefile
    +++ b/kernel/time/Makefile
    @@ -13,19 +13,4 @@ obj-$(CONFIG_TIMER_STATS) += timer_stats.o
    obj-$(CONFIG_DEBUG_FS) += timekeeping_debug.o
    obj-$(CONFIG_TEST_UDELAY) += test_udelay.o

    -$(obj)/time.o: $(obj)/timeconst.h
    -
    -quiet_cmd_hzfile = HZFILE $@
    - cmd_hzfile = echo "hz=$(CONFIG_HZ)" > $@
    -
    -targets += hz.bc
    -$(obj)/hz.bc: $(objtree)/include/config/hz.h FORCE
    - $(call if_changed,hzfile)
    -
    -quiet_cmd_bc = BC $@
    - cmd_bc = bc -q $(filter-out FORCE,$^) > $@
    -
    -targets += timeconst.h
    -$(obj)/timeconst.h: $(obj)/hz.bc $(src)/timeconst.bc FORCE
    - $(call if_changed,bc)
    -
    +$(obj)/time.o: $(objtree)/include/config/
    diff --git a/kernel/time/time.c b/kernel/time/time.c
    index 2c85b77..4fa1d26 100644
    --- a/kernel/time/time.c
    +++ b/kernel/time/time.c
    @@ -41,7 +41,7 @@
    #include <asm/uaccess.h>
    #include <asm/unistd.h>

    -#include "timeconst.h"
    +#include <generated/timeconst.h>
    #include "timekeeping.h"

    /*
    diff --git a/kernel/time/timeconst.bc b/kernel/time/timeconst.bc
    index 511bdf2..c7388de 100644
    --- a/kernel/time/timeconst.bc
    +++ b/kernel/time/timeconst.bc
    @@ -50,7 +50,7 @@ define timeconst(hz) {
    print "#include <linux/types.h>\n\n"

    print "#if HZ != ", hz, "\n"
    - print "#error \qkernel/timeconst.h has the wrong HZ value!\q\n"
    + print "#error \qinclude/generated/timeconst.h has the wrong HZ value!\q\n"
    print "#endif\n\n"

    if (hz < 2) {
    @@ -105,4 +105,5 @@ define timeconst(hz) {
    halt
    }

    +hz = read();
    timeconst(hz)

    \
     
     \ /
      Last update: 2015-05-19 16:01    [W:4.393 / U:0.244 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site