All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Walmsley <paul@pwsan.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-tegra@vger.kernel.org, Allen Martin <amartin@nvidia.com>,
	Stephen Warren <swarren@nvidia.com>,
	Thierry Reding <treding@nvidia.com>,
	Alexandre Courbot <gnurou@gmail.com>,
	pwalmsley@nvidia.com
Subject: Re: [PATCH] clocksource: tegra: wrap arch/arm-specific sections in CONFIG_ARM
Date: Fri, 9 Jan 2015 02:09:25 +0000 (UTC)	[thread overview]
Message-ID: <alpine.DEB.2.02.1501090135280.28771@utopia.booyaka.com> (raw)
In-Reply-To: <54AEB719.5060103@linaro.org>

Hello Daniel

On Thu, 8 Jan 2015, Daniel Lezcano wrote:

> On 12/09/2014 11:07 PM, Paul Walmsley wrote:
> > 
> > Like several of the other files in drivers/clocksource,
> > tegra20_timer.c contains code that can only compile when CONFIG_ARM is
> > enabled.  This causes obvious problems when trying to compile this
> > code for NVIDIA ARM64-based SoCs, such as Tegra132.  The same timer IP
> > blocks exist, so it seems appropriate to provide support for them.
> > 
> > So until we figure out a better way to partition this code, wrap the
> > delay_timer and persistent_clock support code with preprocessor tests
> > for CONFIG_ARM.
> >
> >  (The delay_timer code should not be needed at all on
> > ARM64 due to the presence of the ARMv8 architected timer.  The
> > persistent_clock support code could become important once power
> > management modes are implemented that turn off the CPU complex.)
> 
> IIUC, the cpuidle driver is not yet ready, right ?
> 
> If it is the case, this driver is not needed yet, no ?

The point of the patch is to allow the hardware drivers selected by 
CONFIG_ARCH_TEGRA to build for an arm64 kernel, just as they build for 
32-bit ARM.  

There's nothing CPUIdle-specific about the patch - that is, this timer can 
be selected as a clockevent and clocksource provider without the use of 
CPUIdle - although low-power PM idle is likely to be a primary use-case.

> Perhaps you can rework a bit this driver in the meantime to have a better fix
> than disabling the code with macros ?

I'm happy to do that, but it would be nice to get the driver compiling 
first for ARM64 :-)

> Otherwise, please try at least to group the code into a minimal set of macros.

So, would it be accurate to say that you would prefer a patch that changes 
more lines of code, but minimizes preprocessor directives, to the current 
patch?

> One comment below.

> > diff --git a/drivers/clocksource/tegra20_timer.c
> > b/drivers/clocksource/tegra20_timer.c
> > index d2616ef16770..83a8f5c9e139 100644
> > --- a/drivers/clocksource/tegra20_timer.c
> > +++ b/drivers/clocksource/tegra20_timer.c
> > @@ -29,8 +29,10 @@
> >   #include <linux/sched_clock.h>
> >   #include <linux/delay.h>
> > 
> > +#ifdef CONFIG_ARM
> >   #include <asm/mach/time.h>
> >   #include <asm/smp_twd.h>
> 
> Is smp_twd.h really needed ?
> 
> > +#endif

No, it can be removed.  

Would you be willing to ack or merge a revision of this patch with 

1. the #include <asm/smp_twd.h> removed

2. a larger number of changed lines, in order to minimize the number of 
new #ifdefs?




- Paul

  reply	other threads:[~2015-01-09  2:09 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-09 22:07 [PATCH] clocksource: tegra: wrap arch/arm-specific sections in CONFIG_ARM Paul Walmsley
     [not found] ` <alpine.DEB.2.02.1412092201200.31750-rwI8Ez+7Ko+d5PgPZx9QOdBPR1lH4CV8@public.gmane.org>
2014-12-10 11:14   ` Thierry Reding
2014-12-10 11:14     ` Thierry Reding
     [not found]     ` <20141210111425.GD15287-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2014-12-12  2:13       ` Paul Walmsley
2014-12-12  2:13         ` Paul Walmsley
2014-12-12  2:13         ` Paul Walmsley
2015-01-07 14:29   ` Thierry Reding
2015-01-07 14:29     ` Thierry Reding
2015-01-08 16:58   ` Daniel Lezcano
2015-01-08 16:58     ` Daniel Lezcano
2015-01-09  2:09     ` Paul Walmsley [this message]
2015-01-09  8:31       ` Daniel Lezcano
     [not found]         ` <54AF91CC.2090007-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-01-09 12:21           ` Thierry Reding
2015-01-09 12:21             ` Thierry Reding
2015-01-09 13:24             ` Daniel Lezcano
2015-01-09 13:24               ` Daniel Lezcano
     [not found]               ` <54AFD688.5000304-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-01-09 13:33                 ` Thierry Reding
2015-01-09 13:33                   ` Thierry Reding
2015-01-09 13:38                   ` Daniel Lezcano
2015-01-09 13:44                     ` Thierry Reding
2015-01-08 14:21 ` Daniel Lezcano
     [not found]   ` <54AE9286.1090800-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-01-08 15:48     ` Thierry Reding
2015-01-08 15:48       ` Thierry Reding

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=alpine.DEB.2.02.1501090135280.28771@utopia.booyaka.com \
    --to=paul@pwsan.com \
    --cc=amartin@nvidia.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=gnurou@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=pwalmsley@nvidia.com \
    --cc=swarren@nvidia.com \
    --cc=tglx@linutronix.de \
    --cc=treding@nvidia.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.