All of lore.kernel.org
 help / color / mirror / Atom feed
From: Feng Tang <feng.tang@intel.com>
To: <tglx@linutronix.de>, Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: <x86@kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/2] x86/platform: add a wallclock_init func to x86_platforms ops
Date: Wed, 26 Jan 2011 11:03:55 +0800	[thread overview]
Message-ID: <20110126110355.36ea246b@feng-i7> (raw)
In-Reply-To: <20110125153813.4aa1e7cc@lxorguk.ukuu.org.uk>


> Date: Tue, 25 Jan 2011 16:20:17 +0100 (CET)
> From: Thomas Gleixner <tglx@linutronix.de>
> To: Alan Cox <alan@lxorguk.ukuu.org.uk>
> Cc: x86@kernel.org, linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 1/2] x86/platform: add a wallclock_init func to
> x86_platforms ops
> 
> 
> On Tue, 25 Jan 2011, Alan Cox wrote:
> 
> > From: Feng Tang <feng.tang@intel.com>
> > 
> > Some wall clock devices use MMIO based HW register, this new
> > function will give them a chance to do some initialization work
> > before their get/set_time service get called.
> > 
> > Signed-off-by: Feng Tang <feng.tang@intel.com>
> > Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
> > Signed-off-by: Alan Cox <alan@linux.intel.com>
> > ---
> > 
> >  arch/x86/include/asm/x86_init.h |    2 ++
> >  arch/x86/kernel/setup.c         |    2 ++
> >  arch/x86/kernel/x86_init.c      |    2 ++
> >  3 files changed, 6 insertions(+), 0 deletions(-)
> > 
> > 
> > diff --git a/arch/x86/include/asm/x86_init.h
> > b/arch/x86/include/asm/x86_init.h index 64642ad..f7fa2e7 100644
> > --- a/arch/x86/include/asm/x86_init.h
> > +++ b/arch/x86/include/asm/x86_init.h
> > @@ -138,6 +138,7 @@ struct x86_cpuinit_ops {
> >  /**
> >   * struct x86_platform_ops - platform specific runtime functions
> >   * @calibrate_tsc:		calibrate TSC
> > + * @wallclock_init:		init the wallclock device
> 
> That's a one time called init function, so it should go into
> x86_init_ops.
> 
> Thanks,
> 
> 	tglx
> 

Hi Thomas,

Here is the updated one, if you think it's ok, I'll update the second patch later.

Thanks,
Feng
-------------

>From b305dc1ae5db882ac8ab49248096f96dd16bdd9a Mon Sep 17 00:00:00 2001
From: Feng Tang <feng.tang@intel.com>
Date: Wed, 26 Jan 2011 10:41:25 +0800
Subject: [PATCH] x86/platform: add a wallclock_init func to x86_init.timers ops

Some wall clock devices use MMIO based HW register, this new
function will give them a chance to do some initialization work
before their get/set_time service get called, which is usually
called in early kernel boot phase.

Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
---
 arch/x86/include/asm/x86_init.h |    2 ++
 arch/x86/kernel/setup.c         |    2 ++
 arch/x86/kernel/x86_init.c      |    1 +
 3 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 64642ad..643ebf2 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -83,11 +83,13 @@ struct x86_init_paging {
  *				boot cpu
  * @tsc_pre_init:		platform function called before TSC init
  * @timer_init:			initialize the platform timer (default PIT/HPET)
+ * @wallclock_init:		init the wallclock device
  */
 struct x86_init_timers {
 	void (*setup_percpu_clockev)(void);
 	void (*tsc_pre_init)(void);
 	void (*timer_init)(void);
+	void (*wallclock_init)(void);
 };
 
 /**
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index a25ce88..8b1cd72 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1066,6 +1066,8 @@ void __init setup_arch(char **cmdline_p)
 #endif
 	x86_init.oem.banner();
 
+	x86_init.timers.wallclock_init();
+
 	mcheck_init();
 
 	local_irq_save(flags);
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index ceb2911..c11514e 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -70,6 +70,7 @@ struct x86_init_ops x86_init __initdata = {
 		.setup_percpu_clockev	= setup_boot_APIC_clock,
 		.tsc_pre_init		= x86_init_noop,
 		.timer_init		= hpet_time_init,
+		.wallclock_init		= x86_init_noop,
 	},
 
 	.iommu = {
-- 
1.7.0.4




       reply	other threads:[~2011-01-26  3:05 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20110125153813.4aa1e7cc@lxorguk.ukuu.org.uk>
2011-01-26  3:03 ` Feng Tang [this message]
2011-01-26 12:26   ` [PATCH 1/2] x86/platform: add a wallclock_init func to x86_platforms ops Thomas Gleixner
2011-01-25 14:26 Alan Cox
2011-01-25 15:20 ` Thomas Gleixner

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=20110126110355.36ea246b@feng-i7 \
    --to=feng.tang@intel.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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.