Received: by 10.223.176.5 with SMTP id f5csp1717672wra; Thu, 8 Feb 2018 02:15:09 -0800 (PST) X-Google-Smtp-Source: AH8x224YQsr+toXnf8133I/KEYKqXPyS9WK+v8UnN6rLNSYpex01Or/r3jIaYlhWwKOjB+oDFBoG X-Received: by 10.101.66.76 with SMTP id d12mr121170pgq.45.1518084909151; Thu, 08 Feb 2018 02:15:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518084909; cv=none; d=google.com; s=arc-20160816; b=plYPrbBdHmXh+38QgQQZ4HWJcFYKf/gQJ5r6plIiKzzWZCcJRVY4snsLTONyw7zDTK KoXWVzwZKfAZHGLuS/HHCr4BBSobCHiWie9pyvbMUJx8hMnky3YCRY1XSul5NbCMUura cSAov1oHIbHq27bMw4sVFfExoJ0SsjSXixB32QjfvAnHHWsPc6xQgtQQg7j6iU8J1rNj DwsnCvYPuzqyrTPYF9+JZQBp9dBRyMUEOlimgYNPX/ZZXc7k53ysB4uACFnxa7Acrn6B eWOPZeHkNZx9Zzn+1+XfOC3v5FoH1VqNk5Q7pjr9nCXZ2xUj5pMlW8cZzYb2cY7h+WGx lyZw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=hi/4WckKyXZCnBfQVjKMrYPsp6qlzzGw03j3V/Qsq0U=; b=B3u3m7FttUVcM9LtwXUdugizbnlVBZIXat18Jic2WEClVCWf0t0hStvIv9lxCACxiX ZUMDaB0lmhZGZiyav9WmDmH8dNtdVg/9TBqX4pMXzWClSNYwe2T6evHgpOgEwkkdixBK /dXcYAA0QiTxE6LwlSmxoANcUViZpFY8SWU7A6MSws7fH5rL/26Fl3FcPWS3AZj3xm3f gWflUVLHOXoJajonrGIYLUXejJNrbRAGlxwOQPkTGBWBV2Wz6sq2aV5Bf+KD626uPyOQ W6aoiWVnbwnsPliHRuAwIl3PayHdg320EhiInADV7DVqdKDVCfyZ0spvB4tZO2/YL+oI u4ug== 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 c7-v6si2504876plo.743.2018.02.08.02.14.55; Thu, 08 Feb 2018 02:15:09 -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 S1752266AbeBHKOX (ORCPT + 99 others); Thu, 8 Feb 2018 05:14:23 -0500 Received: from cloudserver094114.home.pl ([79.96.170.134]:64752 "EHLO cloudserver094114.home.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752212AbeBHKOV (ORCPT ); Thu, 8 Feb 2018 05:14:21 -0500 Received: from 79.184.255.223.ipv4.supernova.orange.pl (79.184.255.223) (HELO aspire.rjw.lan) by serwer1319399.home.pl (79.96.170.134) with SMTP (IdeaSmtpServer 0.83) id 39dc2b799f88f324; Thu, 8 Feb 2018 11:14:20 +0100 From: "Rafael J. Wysocki" To: Arnd Bergmann Cc: x86@kernel.org, Pavel Machek , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Len Brown , Nicolas Pitre , Andi Kleen , linux-kernel@vger.kernel.org, Bart Van Assche , linux-pm@vger.kernel.org Subject: Re: [PATCH 2/3] x86: fix swsusp_arch_resume prototype Date: Thu, 08 Feb 2018 11:12:38 +0100 Message-ID: <2199353.ODa2DYVeeo@aspire.rjw.lan> In-Reply-To: <20180202145634.200291-2-arnd@arndb.de> References: <20180202145434.100626-1-arnd@arndb.de> <20180202145634.200291-1-arnd@arndb.de> <20180202145634.200291-2-arnd@arndb.de> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Friday, February 2, 2018 3:56:18 PM CET Arnd Bergmann wrote: > The declaration for swsusp_arch_resume marks it as 'asmlinkage', > but the definition in x86-32 does not, and it fails to include > the header with the declaration. This leads to a warning when > building with link-time-optimizations: > > kernel/power/power.h:108:23: error: type of 'swsusp_arch_resume' does not match original declaration [-Werror=lto-type-mismatch] > extern asmlinkage int swsusp_arch_resume(void); > ^ > arch/x86/power/hibernate_32.c:148:0: note: 'swsusp_arch_resume' was previously declared here > int swsusp_arch_resume(void) > > This moves the declaration into a globally visible header file > and fixes up both x86 definitions to match it. > > Signed-off-by: Arnd Bergmann > --- > arch/x86/power/hibernate_32.c | 2 +- > arch/x86/power/hibernate_64.c | 2 +- > include/linux/suspend.h | 2 ++ > kernel/power/power.h | 3 --- > 4 files changed, 4 insertions(+), 5 deletions(-) > > diff --git a/arch/x86/power/hibernate_32.c b/arch/x86/power/hibernate_32.c > index c35fdb585c68..afc4ed7b1578 100644 > --- a/arch/x86/power/hibernate_32.c > +++ b/arch/x86/power/hibernate_32.c > @@ -145,7 +145,7 @@ static inline void resume_init_first_level_page_table(pgd_t *pg_dir) > #endif > } > > -int swsusp_arch_resume(void) > +asmlinkage int swsusp_arch_resume(void) > { > int error; > > diff --git a/arch/x86/power/hibernate_64.c b/arch/x86/power/hibernate_64.c > index f910c514438f..0ef5e5204968 100644 > --- a/arch/x86/power/hibernate_64.c > +++ b/arch/x86/power/hibernate_64.c > @@ -174,7 +174,7 @@ static int relocate_restore_code(void) > return 0; > } > > -int swsusp_arch_resume(void) > +asmlinkage int swsusp_arch_resume(void) > { > int error; > > diff --git a/include/linux/suspend.h b/include/linux/suspend.h > index cc22a24516d6..440b62f7502e 100644 > --- a/include/linux/suspend.h > +++ b/include/linux/suspend.h > @@ -384,6 +384,8 @@ extern int swsusp_page_is_forbidden(struct page *); > extern void swsusp_set_page_free(struct page *); > extern void swsusp_unset_page_free(struct page *); > extern unsigned long get_safe_page(gfp_t gfp_mask); > +extern asmlinkage int swsusp_arch_suspend(void); > +extern asmlinkage int swsusp_arch_resume(void); > > extern void hibernation_set_ops(const struct platform_hibernation_ops *ops); > extern int hibernate(void); > diff --git a/kernel/power/power.h b/kernel/power/power.h > index f29cd178df90..9e58bdc8a562 100644 > --- a/kernel/power/power.h > +++ b/kernel/power/power.h > @@ -104,9 +104,6 @@ extern int in_suspend; > extern dev_t swsusp_resume_device; > extern sector_t swsusp_resume_block; > > -extern asmlinkage int swsusp_arch_suspend(void); > -extern asmlinkage int swsusp_arch_resume(void); > - > extern int create_basic_memory_bitmaps(void); > extern void free_basic_memory_bitmaps(void); > extern int hibernate_preallocate_memory(void); > Applied, thanks!