Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp2552374ybv; Mon, 24 Feb 2020 07:17:28 -0800 (PST) X-Google-Smtp-Source: APXvYqz2naRd406k5meVUndvmKyyxR+7Fg+2V40ejKGS+ot04JRinLKVECmijrmfmwBvFoPgd39c X-Received: by 2002:a05:6808:3b4:: with SMTP id n20mr12569435oie.78.1582557448553; Mon, 24 Feb 2020 07:17:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582557448; cv=none; d=google.com; s=arc-20160816; b=xESfqE/zPOGys4ebidqANYYIKp6Xc1Jn/dWXDwrpdlHEr1kE/dXGXm/Q4meSQxWxo3 q07HULFcN4TRLqUPf8WuWAmvA4CbZFByNR7fgv8VglAWKn4GQdvFqHL9RsYrsVHvWcBe ej44go5AKmQVYs7JcBZgEFM2y+CBz9K1kPP3hc5CDRLfqeiYN8WczykvbR0WPcioHyhG gILno6h3qF7JVYrQte6bXOwkKet6Ezr+3HDr4fYDnwsJC6smIned4Z2s5aX26dE87ils n3lJjbwBFyjJR6wjiEURvFA2Uchr097gNad0oRhKsdMMhq/08inChbUrdjaNsbjRw3OB VaDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=mhODz5qVyyhVNdwacwyU4qTOQM7c8GZMzBrMoik3J8c=; b=OduE+TquADx1H0d/yyXWnMIY1V1V2L53tUdCZ+NxhJiiT1nEjTTXQVxD5Ue5ZEVLcL ICxu0Y6TUPj4D9NyymMMNZaoG6tXgRCyl6t/D0I5J/W+hgekfHZAmVAIsy+EjGNxgduZ Fvw4I0RFKCyT8T6yKzfkAdPnB3zWK4R6tEWURiYLekyIxU9iiNb5LwXzrCGQ16tImuxW GdYPDgN/3tio24KWEppHV9zUDNweDhvqxt8lj+DcJFGXr5n1UEh+EZx+mrHhMaKu9Ywj zNY1/UJvQyAPgjXOkOB88iLD8A4C5bi+JWnFM8fqfZ0/9XzN7eCPps9zUgqwIm9lFce6 6QOQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z73si5390891oia.40.2020.02.24.07.17.16; Mon, 24 Feb 2020 07:17:28 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727952AbgBXPQJ (ORCPT + 99 others); Mon, 24 Feb 2020 10:16:09 -0500 Received: from foss.arm.com ([217.140.110.172]:38764 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727701AbgBXPQI (ORCPT ); Mon, 24 Feb 2020 10:16:08 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 31D9E1FB; Mon, 24 Feb 2020 07:16:08 -0800 (PST) Received: from e119884-lin.cambridge.arm.com (e119884-lin.cambridge.arm.com [10.1.196.72]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A05783F534; Mon, 24 Feb 2020 07:16:06 -0800 (PST) From: Vincenzo Frascino To: linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: catalin.marinas@arm.com, will.deacon@arm.com, linux@armlinux.org.uk, tglx@linutronix.de, luto@kernel.org, m.szyprowski@samsung.com, maz@kernel.org, Mark.Rutland@arm.com, vincenzo.frascino@arm.com Subject: [PATCH v3] clocksource: Fix arm_arch_timer clockmode when vDSO disabled Date: Mon, 24 Feb 2020 15:15:52 +0000 Message-Id: <20200224151552.57274-1-vincenzo.frascino@arm.com> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The arm_arch_timer requires that VDSO_CLOCKMODE_ARCHTIMER to be defined to compile correctly. On arm the vDSO can be disabled and when this is the case the compilation ends prematurely with an error: $ make ARCH=arm multi_v7_defconfig $ ./scripts/config -d VDSO $ make drivers/clocksource/arm_arch_timer.c:73:44: error: ‘VDSO_CLOCKMODE_ARCHTIMER’ undeclared here (not in a function) static enum vdso_clock_mode vdso_default = VDSO_CLOCKMODE_ARCHTIMER; ^ scripts/Makefile.build:267: recipe for target 'drivers/clocksource/arm_arch_timer.o' failed make[2]: *** [drivers/clocksource/arm_arch_timer.o] Error 1 make[2]: *** Waiting for unfinished jobs.... scripts/Makefile.build:505: recipe for target 'drivers/clocksource' failed make[1]: *** [drivers/clocksource] Error 2 make[1]: *** Waiting for unfinished jobs.... Makefile:1683: recipe for target 'drivers' failed make: *** [drivers] Error 2 Define VDSO_CLOCKMODE_ARCHTIMER as VDSO_CLOCKMODE_NONE when the vDSOs are not enabled to address the issue. Fixes: 5e3c6a312a09 ("ARM/arm64: vdso: Use common vdso clock mode storage") Cc: Marc Zyngier Cc: Mark Rutland Cc: Russell King Cc: Thomas Gleixner Reported-by: Marek Szyprowski Signed-off-by: Vincenzo Frascino --- drivers/clocksource/arm_arch_timer.c | 4 ++++ 1 file changed, 4 insertions(+) This patch has been rebased and tested on tip/timers/core. diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c index ee2420d56f67..d53f4c7ccaae 100644 --- a/drivers/clocksource/arm_arch_timer.c +++ b/drivers/clocksource/arm_arch_timer.c @@ -69,7 +69,11 @@ static enum arch_timer_ppi_nr arch_timer_uses_ppi = ARCH_TIMER_VIRT_PPI; static bool arch_timer_c3stop; static bool arch_timer_mem_use_virtual; static bool arch_counter_suspend_stop; +#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 cpumask_t evtstrm_available = CPU_MASK_NONE; static bool evtstrm_enable = IS_ENABLED(CONFIG_ARM_ARCH_TIMER_EVTSTREAM); -- 2.25.0