All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
To: Yong Wang <yong.y.wang@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-kernel@vger.kernel.org
Subject: [PATCH] x86, mce: fix __init annotations
Date: Thu, 12 Nov 2009 15:52:40 +0900	[thread overview]
Message-ID: <4AFBB0B8.2070501@jp.fujitsu.com> (raw)
In-Reply-To: <4AFB9CFE.6010207@jp.fujitsu.com>

Hidetoshi Seto wrote:
> Yong Wang wrote:
>> @@ -268,7 +268,7 @@ void mcheck_intel_therm_init(void)
>>  		lvtthmr_init = apic_read(APIC_LVTTHMR);
>>  }
>>  
>> -void intel_init_thermal(struct cpuinfo_x86 *c)
>> +void __init intel_init_thermal(struct cpuinfo_x86 *c)
>>  {
>>  	unsigned int cpu = smp_processor_id();
>>  	int tm2 = 0;
> 
> But I think this could be called on hot-plugged AP.
> Should be __cpuinit ?
> 
> void __cpuinit mcheck_cpu_init(struct cpuinfo_x86 *c)
>  ->  static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c)
>   ->  void mce_intel_feature_init(struct cpuinfo_x86 *c)
>    ->  void intel_init_thermal(struct cpuinfo_x86 *c)

I found it is called from resume path, so neither __init nor __cpuinit
will be applicable...

static int mce_resume(struct sys_device *dev)
 -> static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c)
  ->  void mce_intel_feature_init(struct cpuinfo_x86 *c)
   ->  void intel_init_thermal(struct cpuinfo_x86 *c)

Following patch is based on tip:perf/mce.


Thanks,
H.Seto

===

Subject: [PATCH] x86, mce: fix __init annotations

The intel_init_thermal() is called from resume path, so it cannot be
marked as __init.

OTOH mce_banks_init() is only called from __mcheck_cpu_cap_init()
which is marked as __cpuinit, so it can be also marked as __cpuinit.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
---
 arch/x86/kernel/cpu/mcheck/mce.c         |    4 ++--
 arch/x86/kernel/cpu/mcheck/therm_throt.c |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index 0d41020..5f277ca 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -1201,7 +1201,7 @@ int mce_notify_irq(void)
 }
 EXPORT_SYMBOL_GPL(mce_notify_irq);
 
-static int mce_banks_init(void)
+static int __cpuinit __mcheck_cpu_mce_banks_init(void)
 {
 	int i;
 
@@ -1242,7 +1242,7 @@ static int __cpuinit __mcheck_cpu_cap_init(void)
 	WARN_ON(banks != 0 && b != banks);
 	banks = b;
 	if (!mce_banks) {
-		int err = mce_banks_init();
+		int err = __mcheck_cpu_mce_banks_init();
 
 		if (err)
 			return err;
diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c
index 8a73d5c..4fef985 100644
--- a/arch/x86/kernel/cpu/mcheck/therm_throt.c
+++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c
@@ -268,7 +268,7 @@ void __init mcheck_intel_therm_init(void)
 		lvtthmr_init = apic_read(APIC_LVTTHMR);
 }
 
-void __init intel_init_thermal(struct cpuinfo_x86 *c)
+void intel_init_thermal(struct cpuinfo_x86 *c)
 {
 	unsigned int cpu = smp_processor_id();
 	int tm2 = 0;
-- 
1.6.5.2



  reply	other threads:[~2009-11-12  6:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-11  7:51 [PATCH] x86: Mark the thermal init functions __init Yong Wang
2009-11-11 11:42 ` [tip:perf/mce] " tip-bot for Yong Wang
2009-11-12  5:28 ` [PATCH] " Hidetoshi Seto
2009-11-12  6:52   ` Hidetoshi Seto [this message]
2009-11-12  8:12     ` [PATCH] x86, mce: fix __init annotations Yong Wang
2009-11-12  8:22     ` [tip:perf/mce] x86, mce: Fix " tip-bot for Hidetoshi Seto

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=4AFBB0B8.2070501@jp.fujitsu.com \
    --to=seto.hidetoshi@jp.fujitsu.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --cc=yong.y.wang@linux.intel.com \
    /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.