From: Thomas Gleixner <tglx@linutronix.de>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Ley Foon Tan <lftan@altera.com>,
linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, lftan.linux@gmail.com,
cltang@codesourcery.com
Subject: Re: [PATCH v4 21/29] nios2: Time keeping
Date: Wed, 8 Oct 2014 17:20:44 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.11.1410081719340.4292@nanos> (raw)
In-Reply-To: <3820417.zXtDk8QPj1@wuerfel>
On Wed, 8 Oct 2014, Arnd Bergmann wrote:
> On Wednesday 08 October 2014 12:44:32 Thomas Gleixner wrote:
> > > +static int num_called;
> > > +static void __init nios2_time_init(struct device_node *timer)
> > > +{
> > > + switch (num_called) {
> > > + case 0:
> > > + nios2_clockevent_init(timer);
> > > + break;
> > > + case 1:
> > > + nios2_clocksource_init(timer);
> > > + break;
> > > + default:
> > > + break;
> > > + }
> > > +
> > > + num_called++;
> > > +}
> >
> > Eew. So this depends on the DT ordering. If thats wrong, then stuff
> > will be initialized in the wrong oder.
> >
> > > +CLOCKSOURCE_OF_DECLARE(nios2_timer, "altr,timer-1.0", nios2_time_init);
> >
> > Why can't you have separate match entries with where one calls
> > nios2_clockevent_init and the other nios2_clocksource_init?
>
> I believe we have the same logic in other drivers as well, the intention
> being that if you have multiple identical timers, the first one will
> be used as clockevent and the second one (if there is more than one)
> becomes the clocksource.
>
> If the hardware is really identical, I would argue that the comaptible
> string ought to be the same as well, as the DT is not supposed to
> care about what the timers are used for in Linux.
So why do we need two calls at all if we have one piece of hardware
which has two functions? We know that already, don't we?
Thanks,
tglx
next prev parent reply other threads:[~2014-10-08 15:20 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-08 9:29 [PATCH v4 00/29] nios2 Linux kernel port Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 01/29] asm-generic: add generic futex for !CONFIG_SMP Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 02/29] nios2: Assembly macros and definitions Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 03/29] nios2: Kernel booting and initialization Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 04/29] nios2: Exception handling Ley Foon Tan
2014-10-08 22:27 ` Al Viro
2014-10-09 8:31 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 05/29] nios2: Traps exception handling Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 06/29] nios2: Memory management Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 07/29] nios2: I/O Mapping Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 08/29] nios2: MMU Fault handling Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 09/29] nios2: Page table management Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 10/29] nios2: Process management Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 11/29] nios2: Cache handling Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 12/29] nios2: TLB handling Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 13/29] nios2: Interrupt handling Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 10:59 ` Thomas Gleixner
2014-10-08 10:59 ` Thomas Gleixner
2014-10-08 9:29 ` [PATCH v4 14/29] nios2: DMA mapping API Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 15/29] Add ELF machine define for Nios2 Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 16/29] nios2: ELF definitions Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 17/29] nios2: System calls handling Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-09 7:47 ` Tobias Klauser
2014-10-09 7:47 ` Tobias Klauser
2014-10-09 8:38 ` Ley Foon Tan
2014-10-09 8:38 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 18/29] nios2: Signal handling support Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 11:29 ` Richard Weinberger
2014-10-08 11:29 ` Richard Weinberger
2014-10-09 8:33 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 19/29] nios2: Library functions Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 20/29] nios2: Device tree support Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 21/29] nios2: Time keeping Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 10:44 ` Thomas Gleixner
2014-10-08 15:17 ` Arnd Bergmann
2014-10-08 15:17 ` Arnd Bergmann
2014-10-08 15:20 ` Thomas Gleixner [this message]
2014-10-08 15:20 ` Thomas Gleixner
2014-10-08 15:39 ` Arnd Bergmann
2014-10-08 15:39 ` Arnd Bergmann
2014-10-08 16:19 ` Thomas Gleixner
2014-10-08 16:19 ` Thomas Gleixner
2014-10-09 11:57 ` Arnd Bergmann
2014-10-09 11:57 ` Arnd Bergmann
2014-10-09 9:00 ` Ley Foon Tan
2014-10-09 9:00 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 22/29] nios2: Cpuinfo handling Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 23/29] nios2: Miscellaneous header files Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 24/29] nios2: Nios2 registers Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 25/29] nios2: Module support Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 26/29] nios2: ptrace support Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 27/29] MAINTAINERS: Add nios2 maintainer Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 28/29] Documentation: Add documentation for Nios2 architecture Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
2014-10-08 9:29 ` [PATCH v4 29/29] nios2: Build infrastructure Ley Foon Tan
2014-10-08 9:29 ` Ley Foon Tan
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.11.1410081719340.4292@nanos \
--to=tglx@linutronix.de \
--cc=arnd@arndb.de \
--cc=cltang@codesourcery.com \
--cc=lftan.linux@gmail.com \
--cc=lftan@altera.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).