The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH 0/7] vDSO: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()
@ 2026-07-09 11:32 Thomas Weißschuh
  2026-07-09 11:32 ` [PATCH 1/7] kbuild: support generated asm-headers in subdirectories Thomas Weißschuh
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Thomas Weißschuh @ 2026-07-09 11:32 UTC (permalink / raw)
  To: Arnd Bergmann, Andy Lutomirski, Thomas Gleixner,
	Vincenzo Frascino, Nathan Chancellor, Nicolas Schier,
	Thomas Bogendoerfer, Daniel Lezcano, Mark Rutland, Marc Zyngier,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	Huacai Chen, WANG Xuerui
  Cc: linux-arch, linux-kernel, linux-kbuild, linux-mips,
	linux-arm-kernel, linux-riscv, loongarch, Thomas Weißschuh

Provide dummy declarations of the VDSO_CLOCKMODE_* constants and use
those to replace some ugly ifdeffery with cleaner IS_ENABLED() checks.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
Thomas Weißschuh (7):
      kbuild: support generated asm-headers in subdirectories
      vDSO: Make clockmode constants available without CONFIG_GENERIC_GETTIMEOFDAY
      MIPS: csrc-r4k: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()
      clocksource/drivers/mips-gic-timer: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()
      clocksource/drivers/arm_arch_timer: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()
      clocksource/drivers/timer-riscv: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()
      LoongArch: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()

 arch/loongarch/kernel/time.c           |  5 ++---
 arch/mips/kernel/csrc-r4k.c            |  4 +---
 drivers/clocksource/arm_arch_timer.c   |  7 ++-----
 drivers/clocksource/mips-gic-timer.c   |  5 ++---
 drivers/clocksource/timer-riscv.c      |  7 ++-----
 include/asm-generic/Kbuild             |  1 +
 include/asm-generic/vdso/clocksource.h |  0
 include/vdso/clocksource.h             |  7 +++++--
 scripts/Makefile.asm-headers           | 11 +++++------
 9 files changed, 20 insertions(+), 27 deletions(-)
---
base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
change-id: 20260605-vdso-arch-clockmodes-bfcaf9a2c848

Best regards,
--  
Thomas Weißschuh <thomas.weissschuh@linutronix.de>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/7] kbuild: support generated asm-headers in subdirectories
  2026-07-09 11:32 [PATCH 0/7] vDSO: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED() Thomas Weißschuh
@ 2026-07-09 11:32 ` Thomas Weißschuh
  2026-07-09 11:32 ` [PATCH 2/7] vDSO: Make clockmode constants available without CONFIG_GENERIC_GETTIMEOFDAY Thomas Weißschuh
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Thomas Weißschuh @ 2026-07-09 11:32 UTC (permalink / raw)
  To: Arnd Bergmann, Andy Lutomirski, Thomas Gleixner,
	Vincenzo Frascino, Nathan Chancellor, Nicolas Schier,
	Thomas Bogendoerfer, Daniel Lezcano, Mark Rutland, Marc Zyngier,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	Huacai Chen, WANG Xuerui
  Cc: linux-arch, linux-kernel, linux-kbuild, linux-mips,
	linux-arm-kernel, linux-riscv, loongarch, Thomas Weißschuh

Extend the asm-header stub generation to also handle subdirectories.
An upcoming vdso/ header refactoring requires this.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 scripts/Makefile.asm-headers | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/scripts/Makefile.asm-headers b/scripts/Makefile.asm-headers
index 8a4856e74180..772b53ffdeb4 100644
--- a/scripts/Makefile.asm-headers
+++ b/scripts/Makefile.asm-headers
@@ -48,14 +48,13 @@ syscall-y   := $(addprefix $(obj)/, $(syscall-y))
 generated-y := $(addprefix $(obj)/, $(generated-y))
 
 # Remove stale wrappers when the corresponding files are removed from generic-y
-old-headers := $(wildcard $(obj)/*.h)
+old-headers := $(shell test -d $(obj) && find $(obj) -name *.h)
 unwanted    := $(filter-out $(generic-y) $(generated-y) $(syscall-y),$(old-headers))
 
-quiet_cmd_wrap = WRAP    $@
-      cmd_wrap = echo "\#include <asm-generic/$*.h>" > $@
+filechk_wrap = echo "\#include <asm-generic/$*.h>"
 
 quiet_cmd_remove = REMOVE  $(unwanted)
-      cmd_remove = rm -f $(unwanted)
+      cmd_remove = rm -f $(unwanted); find $(obj) -type -d -empty -delete
 
 quiet_cmd_syshdr = SYSHDR  $@
       cmd_syshdr = $(CONFIG_SHELL) $(syshdr) \
@@ -74,8 +73,8 @@ all: $(generic-y) $(syscall-y)
 	$(if $(unwanted),$(call cmd,remove))
 	@:
 
-$(obj)/%.h: $(srctree)/$(generic)/%.h
-	$(call cmd,wrap)
+$(obj)/%.h: $(srctree)/$(generic)/%.h FORCE
+	$(call filechk,wrap)
 
 $(obj)/unistd_%.h: $(syscalltbl) $(syshdr) FORCE
 	$(call if_changed,syshdr)

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/7] vDSO: Make clockmode constants available without CONFIG_GENERIC_GETTIMEOFDAY
  2026-07-09 11:32 [PATCH 0/7] vDSO: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED() Thomas Weißschuh
  2026-07-09 11:32 ` [PATCH 1/7] kbuild: support generated asm-headers in subdirectories Thomas Weißschuh
@ 2026-07-09 11:32 ` Thomas Weißschuh
  2026-07-09 11:32 ` [PATCH 3/7] MIPS: csrc-r4k: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED() Thomas Weißschuh
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Thomas Weißschuh @ 2026-07-09 11:32 UTC (permalink / raw)
  To: Arnd Bergmann, Andy Lutomirski, Thomas Gleixner,
	Vincenzo Frascino, Nathan Chancellor, Nicolas Schier,
	Thomas Bogendoerfer, Daniel Lezcano, Mark Rutland, Marc Zyngier,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	Huacai Chen, WANG Xuerui
  Cc: linux-arch, linux-kernel, linux-kbuild, linux-mips,
	linux-arm-kernel, linux-riscv, loongarch, Thomas Weißschuh

Some code, for example clocksource drivers, may want to use the vDSO
clockmode constants even when CONFIG_GENERIC_GETTIMEOFDAY=n.
But the symbols are completely hidden in that case, making ugly
ifdeffery necessary.

Provide unlinkable dummy definitions. These can be used with
IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY).

As not all architectures provide asm/vdso/clocksource.h,
provide an empty stub in asm-generic for it.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 include/asm-generic/Kbuild             | 1 +
 include/asm-generic/vdso/clocksource.h | 0
 include/vdso/clocksource.h             | 7 +++++--
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/asm-generic/Kbuild b/include/asm-generic/Kbuild
index 15df9dcb42a5..2bc00c67dc54 100644
--- a/include/asm-generic/Kbuild
+++ b/include/asm-generic/Kbuild
@@ -62,6 +62,7 @@ mandatory-y += topology.h
 mandatory-y += trace_clock.h
 mandatory-y += uaccess.h
 mandatory-y += unwind_user.h
+mandatory-y += vdso/clocksource.h
 mandatory-y += vermagic.h
 mandatory-y += vga.h
 mandatory-y += video.h
diff --git a/include/asm-generic/vdso/clocksource.h b/include/asm-generic/vdso/clocksource.h
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/include/vdso/clocksource.h b/include/vdso/clocksource.h
index c682e7c60273..63ee8c4ea15c 100644
--- a/include/vdso/clocksource.h
+++ b/include/vdso/clocksource.h
@@ -4,9 +4,12 @@
 
 #include <vdso/limits.h>
 
-#ifdef CONFIG_GENERIC_GETTIMEOFDAY
 #include <asm/vdso/clocksource.h>
-#endif /* CONFIG_GENERIC_GETTIMEOFDAY */
+
+#if !IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY) && defined(VDSO_ARCH_CLOCKMODES)
+/* Unlinkable dummy stubs */
+extern int VDSO_ARCH_CLOCKMODES;
+#endif
 
 enum vdso_clock_mode {
 	VDSO_CLOCKMODE_NONE,

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/7] MIPS: csrc-r4k: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()
  2026-07-09 11:32 [PATCH 0/7] vDSO: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED() Thomas Weißschuh
  2026-07-09 11:32 ` [PATCH 1/7] kbuild: support generated asm-headers in subdirectories Thomas Weißschuh
  2026-07-09 11:32 ` [PATCH 2/7] vDSO: Make clockmode constants available without CONFIG_GENERIC_GETTIMEOFDAY Thomas Weißschuh
@ 2026-07-09 11:32 ` Thomas Weißschuh
  2026-07-09 11:32 ` [PATCH 4/7] clocksource/drivers/mips-gic-timer: " Thomas Weißschuh
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Thomas Weißschuh @ 2026-07-09 11:32 UTC (permalink / raw)
  To: Arnd Bergmann, Andy Lutomirski, Thomas Gleixner,
	Vincenzo Frascino, Nathan Chancellor, Nicolas Schier,
	Thomas Bogendoerfer, Daniel Lezcano, Mark Rutland, Marc Zyngier,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	Huacai Chen, WANG Xuerui
  Cc: linux-arch, linux-kernel, linux-kbuild, linux-mips,
	linux-arm-kernel, linux-riscv, loongarch, Thomas Weißschuh

Now that there is a dummy declaration of VDSO_CLOCKMODE_R4K, even if no
vDSO is built, the ugly ifdeffery can be replaced with a cleaner
IS_ENABLED() check.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 arch/mips/kernel/csrc-r4k.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/mips/kernel/csrc-r4k.c b/arch/mips/kernel/csrc-r4k.c
index 241a934543a8..63aca74ab299 100644
--- a/arch/mips/kernel/csrc-r4k.c
+++ b/arch/mips/kernel/csrc-r4k.c
@@ -126,14 +126,12 @@ int __init init_r4k_clocksource(void)
 	clocksource_mips.rating = 200;
 	clocksource_mips.rating += clamp(mips_hpt_frequency / 10000000, 0, 99);
 
-#ifdef CONFIG_GENERIC_GETTIMEOFDAY
 	/*
 	 * R2 onwards makes the count accessible to user mode so it can be used
 	 * by the VDSO (HWREna is configured by configure_hwrena()).
 	 */
-	if (cpu_has_mips_r2_r6 && rdhwr_count_usable())
+	if (IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY) && cpu_has_mips_r2_r6 && rdhwr_count_usable())
 		clocksource_mips.vdso_clock_mode = VDSO_CLOCKMODE_R4K;
-#endif
 
 	clocksource_register_hz(&clocksource_mips, mips_hpt_frequency);
 

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 4/7] clocksource/drivers/mips-gic-timer: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()
  2026-07-09 11:32 [PATCH 0/7] vDSO: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED() Thomas Weißschuh
                   ` (2 preceding siblings ...)
  2026-07-09 11:32 ` [PATCH 3/7] MIPS: csrc-r4k: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED() Thomas Weißschuh
@ 2026-07-09 11:32 ` Thomas Weißschuh
  2026-07-09 11:32 ` [PATCH 5/7] clocksource/drivers/arm_arch_timer: " Thomas Weißschuh
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Thomas Weißschuh @ 2026-07-09 11:32 UTC (permalink / raw)
  To: Arnd Bergmann, Andy Lutomirski, Thomas Gleixner,
	Vincenzo Frascino, Nathan Chancellor, Nicolas Schier,
	Thomas Bogendoerfer, Daniel Lezcano, Mark Rutland, Marc Zyngier,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	Huacai Chen, WANG Xuerui
  Cc: linux-arch, linux-kernel, linux-kbuild, linux-mips,
	linux-arm-kernel, linux-riscv, loongarch, Thomas Weißschuh

Now that there is a dummy declaration of VDSO_CLOCKMODE_GIC, even if no
vDSO is built, the ugly ifdeffery can be replaced with a cleaner
IS_ENABLED() check.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 drivers/clocksource/mips-gic-timer.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/clocksource/mips-gic-timer.c b/drivers/clocksource/mips-gic-timer.c
index a1669266c94d..0dd30ba3cce7 100644
--- a/drivers/clocksource/mips-gic-timer.c
+++ b/drivers/clocksource/mips-gic-timer.c
@@ -198,9 +198,8 @@ static struct clocksource gic_clocksource = {
 	.name			= "GIC",
 	.read			= gic_hpt_read,
 	.flags			= CLOCK_SOURCE_IS_CONTINUOUS,
-#ifdef CONFIG_GENERIC_GETTIMEOFDAY
-	.vdso_clock_mode	= VDSO_CLOCKMODE_GIC,
-#endif
+	.vdso_clock_mode	= IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY) ?
+					VDSO_CLOCKMODE_GIC : VDSO_CLOCKMODE_NONE,
 };
 
 static void gic_clocksource_unstable(char *reason)

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 5/7] clocksource/drivers/arm_arch_timer: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()
  2026-07-09 11:32 [PATCH 0/7] vDSO: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED() Thomas Weißschuh
                   ` (3 preceding siblings ...)
  2026-07-09 11:32 ` [PATCH 4/7] clocksource/drivers/mips-gic-timer: " Thomas Weißschuh
@ 2026-07-09 11:32 ` Thomas Weißschuh
  2026-07-13 15:23   ` Marc Zyngier
  2026-07-09 11:32 ` [PATCH 6/7] clocksource/drivers/timer-riscv: " Thomas Weißschuh
  2026-07-09 11:32 ` [PATCH 7/7] LoongArch: " Thomas Weißschuh
  6 siblings, 1 reply; 9+ messages in thread
From: Thomas Weißschuh @ 2026-07-09 11:32 UTC (permalink / raw)
  To: Arnd Bergmann, Andy Lutomirski, Thomas Gleixner,
	Vincenzo Frascino, Nathan Chancellor, Nicolas Schier,
	Thomas Bogendoerfer, Daniel Lezcano, Mark Rutland, Marc Zyngier,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	Huacai Chen, WANG Xuerui
  Cc: linux-arch, linux-kernel, linux-kbuild, linux-mips,
	linux-arm-kernel, linux-riscv, loongarch, Thomas Weißschuh

Now that there is a dummy declaration of VDSO_CLOCKMODE_ARCHTIMER,
even if no vDSO is built, the ugly ifdeffery can be replaced with
a cleaner IS_ENABLED() check.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 drivers/clocksource/arm_arch_timer.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index 4adf756423de..d67125a8730a 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -56,11 +56,8 @@ static struct clock_event_device __percpu *arch_timer_evt;
 static enum arch_timer_ppi_nr arch_timer_uses_ppi __ro_after_init = ARCH_TIMER_VIRT_PPI;
 static bool arch_timer_c3stop __ro_after_init;
 static bool arch_counter_suspend_stop __ro_after_init;
-#ifdef CONFIG_GENERIC_GETTIMEOFDAY
-static enum vdso_clock_mode vdso_default = VDSO_CLOCKMODE_ARCHTIMER;
-#else
-static enum vdso_clock_mode vdso_default = VDSO_CLOCKMODE_NONE;
-#endif /* CONFIG_GENERIC_GETTIMEOFDAY */
+static enum vdso_clock_mode vdso_default = IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY) ?
+	VDSO_CLOCKMODE_ARCHTIMER : VDSO_CLOCKMODE_NONE;
 
 static cpumask_t evtstrm_available = CPU_MASK_NONE;
 static bool evtstrm_enable __ro_after_init = IS_ENABLED(CONFIG_ARM_ARCH_TIMER_EVTSTREAM);

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 6/7] clocksource/drivers/timer-riscv: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()
  2026-07-09 11:32 [PATCH 0/7] vDSO: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED() Thomas Weißschuh
                   ` (4 preceding siblings ...)
  2026-07-09 11:32 ` [PATCH 5/7] clocksource/drivers/arm_arch_timer: " Thomas Weißschuh
@ 2026-07-09 11:32 ` Thomas Weißschuh
  2026-07-09 11:32 ` [PATCH 7/7] LoongArch: " Thomas Weißschuh
  6 siblings, 0 replies; 9+ messages in thread
From: Thomas Weißschuh @ 2026-07-09 11:32 UTC (permalink / raw)
  To: Arnd Bergmann, Andy Lutomirski, Thomas Gleixner,
	Vincenzo Frascino, Nathan Chancellor, Nicolas Schier,
	Thomas Bogendoerfer, Daniel Lezcano, Mark Rutland, Marc Zyngier,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	Huacai Chen, WANG Xuerui
  Cc: linux-arch, linux-kernel, linux-kbuild, linux-mips,
	linux-arm-kernel, linux-riscv, loongarch, Thomas Weißschuh

Now that there is a dummy declaration of VDSO_CLOCKMODE_ARCHTIMER,
even if no vDSO is built, the ugly ifdeffery can be replaced with
a cleaner IS_ENABLED() check.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 drivers/clocksource/timer-riscv.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/clocksource/timer-riscv.c b/drivers/clocksource/timer-riscv.c
index cfc4d83c42c0..82bd380b3dda 100644
--- a/drivers/clocksource/timer-riscv.c
+++ b/drivers/clocksource/timer-riscv.c
@@ -98,11 +98,8 @@ static struct clocksource riscv_clocksource = {
 	.mask		= CLOCKSOURCE_MASK(64),
 	.flags		= CLOCK_SOURCE_IS_CONTINUOUS,
 	.read		= riscv_clocksource_rdtime,
-#if IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY)
-	.vdso_clock_mode = VDSO_CLOCKMODE_ARCHTIMER,
-#else
-	.vdso_clock_mode = VDSO_CLOCKMODE_NONE,
-#endif
+	.vdso_clock_mode = IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY) ?
+				VDSO_CLOCKMODE_ARCHTIMER : VDSO_CLOCKMODE_NONE,
 };
 
 static int riscv_timer_starting_cpu(unsigned int cpu)

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 7/7] LoongArch: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()
  2026-07-09 11:32 [PATCH 0/7] vDSO: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED() Thomas Weißschuh
                   ` (5 preceding siblings ...)
  2026-07-09 11:32 ` [PATCH 6/7] clocksource/drivers/timer-riscv: " Thomas Weißschuh
@ 2026-07-09 11:32 ` Thomas Weißschuh
  6 siblings, 0 replies; 9+ messages in thread
From: Thomas Weißschuh @ 2026-07-09 11:32 UTC (permalink / raw)
  To: Arnd Bergmann, Andy Lutomirski, Thomas Gleixner,
	Vincenzo Frascino, Nathan Chancellor, Nicolas Schier,
	Thomas Bogendoerfer, Daniel Lezcano, Mark Rutland, Marc Zyngier,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	Huacai Chen, WANG Xuerui
  Cc: linux-arch, linux-kernel, linux-kbuild, linux-mips,
	linux-arm-kernel, linux-riscv, loongarch, Thomas Weißschuh

Now that there is a dummy declaration of VDSO_CLOCKMODE_CPU, even if no
vDSO is built, the ugly ifdeffery can be replaced with a cleaner
IS_ENABLED() check.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 arch/loongarch/kernel/time.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/loongarch/kernel/time.c b/arch/loongarch/kernel/time.c
index dbaaabcaf6f0..dfc04d9f342e 100644
--- a/arch/loongarch/kernel/time.c
+++ b/arch/loongarch/kernel/time.c
@@ -212,9 +212,8 @@ static struct clocksource clocksource_const = {
 	.read = read_const_counter,
 	.mask = CLOCKSOURCE_MASK(64),
 	.flags = CLOCK_SOURCE_IS_CONTINUOUS,
-#ifdef CONFIG_GENERIC_GETTIMEOFDAY
-	.vdso_clock_mode = VDSO_CLOCKMODE_CPU,
-#endif
+	.vdso_clock_mode = IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY) ?
+				VDSO_CLOCKMODE_CPU : VDSO_CLOCKMODE_NONE,
 };
 
 int __init constant_clocksource_init(void)

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 5/7] clocksource/drivers/arm_arch_timer: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED()
  2026-07-09 11:32 ` [PATCH 5/7] clocksource/drivers/arm_arch_timer: " Thomas Weißschuh
@ 2026-07-13 15:23   ` Marc Zyngier
  0 siblings, 0 replies; 9+ messages in thread
From: Marc Zyngier @ 2026-07-13 15:23 UTC (permalink / raw)
  To: Thomas Weißschuh
  Cc: Arnd Bergmann, Andy Lutomirski, Thomas Gleixner,
	Vincenzo Frascino, Nathan Chancellor, Nicolas Schier,
	Thomas Bogendoerfer, Daniel Lezcano, Mark Rutland, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Huacai Chen,
	WANG Xuerui, linux-arch, linux-kernel, linux-kbuild, linux-mips,
	linux-arm-kernel, linux-riscv, loongarch

On Thu, 09 Jul 2026 12:32:41 +0100,
Thomas Weißschuh <thomas.weissschuh@linutronix.de> wrote:
> 
> Now that there is a dummy declaration of VDSO_CLOCKMODE_ARCHTIMER,
> even if no vDSO is built, the ugly ifdeffery can be replaced with
> a cleaner IS_ENABLED() check.
> 
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>

Acked-by: Marc Zyngier <maz@kernel.org>

	M.

-- 
Jazz isn't dead. It just smells funny.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-07-13 15:21 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-09 11:32 [PATCH 0/7] vDSO: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED() Thomas Weißschuh
2026-07-09 11:32 ` [PATCH 1/7] kbuild: support generated asm-headers in subdirectories Thomas Weißschuh
2026-07-09 11:32 ` [PATCH 2/7] vDSO: Make clockmode constants available without CONFIG_GENERIC_GETTIMEOFDAY Thomas Weißschuh
2026-07-09 11:32 ` [PATCH 3/7] MIPS: csrc-r4k: Replace CONFIG_GENERIC_GETTIMEOFDAY ifdeffery with IS_ENABLED() Thomas Weißschuh
2026-07-09 11:32 ` [PATCH 4/7] clocksource/drivers/mips-gic-timer: " Thomas Weißschuh
2026-07-09 11:32 ` [PATCH 5/7] clocksource/drivers/arm_arch_timer: " Thomas Weißschuh
2026-07-13 15:23   ` Marc Zyngier
2026-07-09 11:32 ` [PATCH 6/7] clocksource/drivers/timer-riscv: " Thomas Weißschuh
2026-07-09 11:32 ` [PATCH 7/7] LoongArch: " Thomas Weißschuh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox