From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753443AbdIDKfT (ORCPT ); Mon, 4 Sep 2017 06:35:19 -0400 Received: from smtp.ctxuk.citrix.com ([185.25.65.24]:17630 "EHLO SMTP.EU.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751321AbdIDKfS (ORCPT ); Mon, 4 Sep 2017 06:35:18 -0400 X-IronPort-AV: E=Sophos;i="5.41,474,1498521600"; d="scan'208";a="52159623" Subject: Re: [Xen-devel] [PATCH 1/1] x86/xen: fix section of xen_init_time_ops() in header To: Jan Beulich , Nicolas Iooss , Boris Ostrovsky , Juergen Gross CC: , References: <20170903083857.1336-1-nicolas.iooss_linux@m4x.org> <59AD43DC02000078001770FD@prv-mh.provo.novell.com> From: Andrew Cooper Message-ID: Date: Mon, 4 Sep 2017 11:35:16 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <59AD43DC02000078001770FD@prv-mh.provo.novell.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Content-Language: en-GB X-ClientProxiedBy: AMSPEX02CAS01.citrite.net (10.69.22.112) To AMSPEX02CL02.citrite.net (10.69.22.126) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/09/17 11:15, Jan Beulich wrote: >>>> On 04.09.17 at 10:17, wrote: >> On 03/09/17 10:38, Nicolas Iooss wrote: >>> Commit d162809f85b4 ("xen/x86: Do not call xen_init_time_ops() until >>> shared_info is initialized") moved xen_init_time_ops() from __init to >>> __ref without updating xen-ops.h accordingly. Fix this. >>> >>> Fixes: d162809f85b4 ("xen/x86: Do not call xen_init_time_ops() until >>> shared_info is initialized") >>> Signed-off-by: Nicolas Iooss >>> --- >>> arch/x86/xen/xen-ops.h | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h >>> index 0d5004477db6..b2a5d48a2c2a 100644 >>> --- a/arch/x86/xen/xen-ops.h >>> +++ b/arch/x86/xen/xen-ops.h >>> @@ -69,7 +69,7 @@ void xen_setup_runstate_info(int cpu); >>> void xen_teardown_timer(int cpu); >>> u64 xen_clocksource_read(void); >>> void xen_setup_cpu_clockevents(void); >>> -void __init xen_init_time_ops(void); >>> +void __ref xen_init_time_ops(void); >>> void __init xen_hvm_init_time_ops(void); >> When correcting this could you please modify the prototypes to comply to >> the intended form as noted in include/linux/init.h (the __ref or __init >> annotations should be just before the ending semicolon)? > Why would these annotations be kept on the declarations anyway? > Attributes affecting code/data placement generally belong on the > definitions only. Because: a) That’s what the coding style says, and b) So various static analysis can be done (e.g. sparse) on an individual translation unit basis. Your objection to having annotations on declarations is why I've never got around to adding sparse to the hypervisor build. ~Andrew