All of lore.kernel.org
 help / color / mirror / Atom feed
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 06/10] arm: arch_timer: divorce from local_timer api
Date: Fri, 07 Dec 2012 14:16:42 -0800	[thread overview]
Message-ID: <50C26ACA.4050509@codeaurora.org> (raw)
In-Reply-To: <1354297568-26366-7-git-send-email-mark.rutland@arm.com>

On 11/30/12 09:46, Mark Rutland wrote:
> Currently, the arch_timer driver is tied to the arm port, as it relies
> on code in arch/arm/smp.c to setup and teardown timers as cores are
> hotplugged on and off. The timer is registered through an arm-specific
> registration mechanism, preventing sharing the driver with the arm64
> port.
>
> This patch moves the driver to using a cpu notifier instead, making it
> easier to port.

How does ipi_timer() work after this change? Don't we need it because of
FEAT_C3_STOP?

>
> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
[snip]
> @@ -245,12 +244,28 @@ static void __cpuinit arch_timer_stop(struct clock_event_device *clk)
>  	clk->set_mode(CLOCK_EVT_MODE_UNUSED, clk);
>  }
>  
> -static struct local_timer_ops arch_timer_ops __cpuinitdata = {
> -	.setup	= arch_timer_setup,
> -	.stop	= arch_timer_stop,
> -};
> +static int __cpuinit arch_timer_cpu_notify(struct notifier_block *self,
> +					   unsigned long action, void *hcpu)
> +{
> +	struct clock_event_device *evt = this_cpu_ptr(arch_timer_evt);
> +
> +	switch (action) {
> +	case CPU_STARTING:
> +	case CPU_STARTING_FROZEN:
> +		arch_timer_setup(evt);
> +		break;
> +	case CPU_DYING:
> +	case CPU_DYING_FROZEN:
> +		arch_timer_stop(evt);
> +		break;
> +	}

You can save 2 lines with a switch (action & ~CPU_TASKS_FROZEN) here.

> +
> +	return NOTIFY_OK;
> +}
>  
> -static struct clock_event_device arch_timer_global_evt;
> +static struct notifier_block __cpuinitdata arch_timer_cpu_nb = {

__cpuinitdata goes last before the equals sign.

> +	.notifier_call = arch_timer_cpu_notify,
> +};
>  
>  static int __init arch_timer_register(void)
>  {
>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

  reply	other threads:[~2012-12-07 22:16 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-30 17:45 [PATCH 00/10] Unify arm_generic and arch_timer drivers Mark Rutland
2012-11-30 17:45 ` [PATCH 01/10] arm: arch_timer: remove redundant available check Mark Rutland
2012-11-30 17:46 ` [PATCH 02/10] arm: arch_timer: use u64/u32 for register data Mark Rutland
2012-11-30 17:46 ` [PATCH 03/10] arm: arch_timer: standardise counter reading Mark Rutland
2012-11-30 17:46 ` [PATCH 04/10] arm: arch_timer: split cntfrq accessor Mark Rutland
2012-11-30 17:46 ` [PATCH 05/10] arm: arch_timer: factor out register accessors Mark Rutland
2012-11-30 17:46 ` [PATCH 06/10] arm: arch_timer: divorce from local_timer api Mark Rutland
2012-12-07 22:16   ` Stephen Boyd [this message]
2012-12-10 11:09     ` Mark Rutland
2012-12-18 12:20       ` Mark Rutland
2012-11-30 17:46 ` [PATCH 07/10] arm: arch_timer: add arch_counter_enable_user_access Mark Rutland
2012-11-30 19:32   ` Will Deacon
2012-12-03 10:24     ` Mark Rutland
2012-11-30 17:46 ` [PATCH 08/10] arm: arch_timer: move core to drivers/clocksource Mark Rutland
2012-11-30 17:46 ` [PATCH 09/10] arm64: move from arm_generic to arm_arch_timer Mark Rutland
2012-11-30 19:36   ` Will Deacon
2012-11-30 17:46 ` [PATCH 10/10] Documentation: Add ARMv8 to arch_timer devicetree Mark Rutland

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=50C26ACA.4050509@codeaurora.org \
    --to=sboyd@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.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.