All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Andi Kleen <andi@firstfloor.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	linux-kernel@vger.kernel.org,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	David Howells <dhowells@redhat.com>
Subject: Re: [announce] new tree: "fix all build warnings, on all configs"
Date: Tue, 21 Oct 2008 13:17:16 +0200	[thread overview]
Message-ID: <20081021111716.GA4476@elte.hu> (raw)
In-Reply-To: <87r66ejqla.fsf@basil.nowhere.org>


* Andi Kleen <andi@firstfloor.org> wrote:

> >   *	acpi_pm_disable_gpes - Disable the GPEs.
> >   */
> > -static int acpi_pm_disable_gpes(void)
> > +static inline int acpi_pm_disable_gpes(void)
> 
> Just to satisfy my curiosity, what compiler warning does marking 
> functions inline fix?

the commit log below explains the situation. The warning exposed a maze 
of #ifdefs in drivers/acpi/sleep/main.c. It's not the warning we need to 
"fix" but that maze, obviously.

	Ingo

-------------------------------------------->
>From 6ddae344a73fcff60c840dd4e429bf55562b41f3 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 17 Oct 2008 15:44:22 +0200
Subject: [PATCH]  #ifdef complications in drivers/acpi/sleep/main.c

this warning:

  drivers/acpi/sleep/main.c:67: warning: ‘acpi_pm_disable_gpes’ defined but not used
  drivers/acpi/sleep/main.c:92: warning: ‘acpi_pm_prepare’ defined but not used
  drivers/acpi/sleep/main.c:107: warning: ‘acpi_pm_finish’ defined but not used
  drivers/acpi/sleep/main.c:128: warning: ‘acpi_pm_end’ defined but not used

Shows that this code has an identity crisis due to a maze of #ifdefs, in
the PM_SLEEP && !SUSPEND && !HIBERNATION case for example.

Instead of complicating the code with even more #ifdefs, one option
would be to convert these rather trivial wrappers to inline functions
(implemented in this commit). Maybe there's a better solution as well -
such as to reduce the many config options we have in this area?

No size difference with SUSPEND && HIBERNATION turned back on:

drivers/acpi/sleep/main.o:

   text	   data	    bss	    dec	    hex	filename
   2717	    976	     33	   3726	    e8e	main.o.before
   2717	    976	     33	   3726	    e8e	main.o.after

md5:
   44220906eff0ea6e1a3266b35dd82ac2  main.o.before.asm
   44220906eff0ea6e1a3266b35dd82ac2  main.o.after.asm
---
 drivers/acpi/sleep/main.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c
index d13194a..2276d75 100644
--- a/drivers/acpi/sleep/main.c
+++ b/drivers/acpi/sleep/main.c
@@ -63,7 +63,7 @@ void __init acpi_old_suspend_ordering(void)
 /**
  *	acpi_pm_disable_gpes - Disable the GPEs.
  */
-static int acpi_pm_disable_gpes(void)
+static inline int acpi_pm_disable_gpes(void)
 {
 	acpi_hw_disable_all_gpes();
 	return 0;
@@ -75,7 +75,7 @@ static int acpi_pm_disable_gpes(void)
  *	If necessary, set the firmware waking vector and do arch-specific
  *	nastiness to get the wakeup code to the waking vector.
  */
-static int __acpi_pm_prepare(void)
+static inline int __acpi_pm_prepare(void)
 {
 	int error = acpi_sleep_prepare(acpi_target_sleep_state);
 
@@ -88,7 +88,7 @@ static int __acpi_pm_prepare(void)
  *	acpi_pm_prepare - Prepare the platform to enter the target sleep
  *		state and disable the GPEs.
  */
-static int acpi_pm_prepare(void)
+static inline int acpi_pm_prepare(void)
 {
 	int error = __acpi_pm_prepare();
 
@@ -103,7 +103,7 @@ static int acpi_pm_prepare(void)
  *	This is called after we wake back up (or if entering the sleep state
  *	failed).
  */
-static void acpi_pm_finish(void)
+static inline void acpi_pm_finish(void)
 {
 	u32 acpi_state = acpi_target_sleep_state;
 
@@ -124,7 +124,7 @@ static void acpi_pm_finish(void)
 /**
  *	acpi_pm_end - Finish up suspend sequence.
  */
-static void acpi_pm_end(void)
+static inline void acpi_pm_end(void)
 {
 	/*
 	 * This is necessary in case acpi_pm_finish() is not called during a

  parent reply	other threads:[~2008-10-21 11:17 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-17 17:11 [announce] new tree: "fix all build warnings, on all configs" Ingo Molnar
2008-10-17 17:59 ` Roland Dreier
2008-10-17 18:05   ` Ingo Molnar
2008-10-17 18:47     ` Roland Dreier
2008-10-17 19:12       ` Ingo Molnar
2008-10-17 19:36         ` Roland Dreier
2008-10-18  8:22           ` Ingo Molnar
2008-10-20 16:37             ` Linus Torvalds
2008-10-20 16:49               ` H. Peter Anvin
2008-10-20 16:57                 ` Linus Torvalds
2008-10-20 19:21               ` Ingo Molnar
2008-10-21  6:41                 ` Jörn Engel
2008-10-22  9:47                   ` Ingo Molnar
2008-10-22 10:10                     ` Jörn Engel
2008-10-18  7:43 ` Andi Kleen
2008-10-21 10:30   ` [announce] new tree: "fix all build warnings, on all configs" II Andi Kleen
2008-10-21 11:17   ` Ingo Molnar [this message]
2008-10-21 12:07     ` [announce] new tree: "fix all build warnings, on all configs" Andi Kleen
2008-10-21 19:39       ` Rafael J. Wysocki
2008-10-21 19:37     ` Rafael J. Wysocki
2008-10-22  4:11       ` Len Brown
2008-10-22 12:23         ` [PATCH] ACPI suspend: Fix CONFIG_ACPI_SLEEP dependence and some compilation warnings (was: Re: [announce] new tree: "fix all build warnings, on all configs") Rafael J. Wysocki
2008-10-22 12:23         ` Rafael J. Wysocki
2008-10-22 12:23           ` Rafael J. Wysocki
2008-10-22 18:58           ` Len Brown
2008-10-22 18:58           ` Len Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081021111716.GA4476@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=andi@firstfloor.org \
    --cc=davem@davemloft.net \
    --cc=dhowells@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.