From: Arnd Bergmann <arnd@arndb.de>
To: James Hogan <james.hogan@imgtec.com>
Cc: linux-arch@vger.kernel.org, Grant <grant.likely@secretlab.ca>
Subject: Re: [RFC PATCH v1 17/40] metag: IRQ handling
Date: Wed, 19 Dec 2012 15:58:57 +0000 [thread overview]
Message-ID: <201212191558.57271.arnd@arndb.de> (raw)
In-Reply-To: <50D06EAF.4050200@imgtec.com>
On Tuesday 18 December 2012, James Hogan wrote:
> > Anything that is probed as a platform device can get the interrupt numbers
> > using the device resources that are filled in by the device tree probe.
> >
> > If you need something earlier, you can call irq_of_parse_and_map()
> > manually.
>
> So does that leave any way for a non-GPL driver to simply get an IRQ
> number? Reading the code I can't find a way other than using legacy irq
> domains (are they acceptable for new architecture ports?).
Yes, I think that is correct. I assume it's also intentional, but I am
not completely sure since it is not my code.
> * I think the usual way is to specify an IRQ in a module parameter, but
> that no longer makes any sense as it would need mapping.
That is also a really bad interface in general. We stopped doing it this
way after linux-2.4 for in-kernel drivers.
> irq_create_mapping could have worked (maybe taking advantage of the
> irq_default_domain), but it's EXPORT_SYMBOL_GPL.
> * Using a platform driver isn't possible because
> platform_driver_register and friends are EXPORT_SYMBOL_GPL.
> * Similarly irq_of_parse_and_map is EXPORT_SYMBOL_GPL (except for sparc
> curiously enough).
Interestingly, the amba_driver interfaces don't have the GPL annotation.
I assume that at the time when platform_driver was introduced, nobody
considered the possibility that there would be a goood reason to
have this used in drivers ported from other operating systems under
an incompatible license. It's probably impossible to change that
now, given the number of individual contributions that have been
added to the platform driver infrastructure over the years.
> So what would be the expected way to do that with linear irq domains?
I think the best answer to that is "you're screwed". There may be
a way to change the interfaces to just EXPORT_SYMBOL if you can make
a good case about a specific driver needing it, but my suspicion is
that that's not likely to be successful when coming from an imgtec.com
address or without details about the driver that needs it ;-)
Arnd
next prev parent reply other threads:[~2012-12-19 15:59 UTC|newest]
Thread overview: 116+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-31 16:13 [RFC PATCH v1 00/40] Meta Linux Kernel Port James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 01/40] asm-generic/io.h: remove asm/cacheflush.h include James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 02/40] asm-generic/unistd.h: handle symbol prefixes in cond_syscall James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 03/40] Add CONFIG_HAVE_64BIT_ALIGNED_STRUCT for taskstats James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 04/40] trace/ring_buffer: handle 64bit aligned structs James Hogan
2012-10-31 17:59 ` Steven Rostedt
2012-10-31 18:19 ` James Hogan
2012-11-01 17:32 ` Will Newton
2012-11-01 19:30 ` Steven Rostedt
2012-10-31 16:13 ` [RFC PATCH v1 05/40] Revert some of "binfmt_elf: cleanups" James Hogan
2012-10-31 16:13 ` James Hogan
2012-11-01 13:25 ` Mikael Pettersson
2012-11-01 13:25 ` Mikael Pettersson
2012-11-01 13:52 ` James Hogan
2012-11-01 13:52 ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 06/40] of/vendor-prefixes: add Imagination Technologies James Hogan
2012-11-01 1:38 ` Rob Herring
2012-11-01 9:20 ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 07/40] metag: Add MAINTAINERS entry James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 08/40] metag: Boot James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 11/40] metag: Signal handling James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 12/40] metag: Build infrastructure James Hogan
2012-10-31 19:35 ` Sam Ravnborg
2012-10-31 21:34 ` James Hogan
2012-11-02 9:40 ` James Hogan
2012-11-02 17:01 ` Sam Ravnborg
2012-11-09 14:46 ` Arnd Bergmann
2012-11-09 14:55 ` James Hogan
2012-11-20 15:06 ` James Hogan
2012-11-20 15:43 ` Arnd Bergmann
2012-11-20 16:01 ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 13/40] metag: Device tree James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 14/40] metag: Ptrace James Hogan
2012-11-08 7:17 ` Jonas Bonn
2012-11-09 9:26 ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 15/40] metag: Time keeping James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 16/40] metag: Traps James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 17/40] metag: IRQ handling James Hogan
2012-11-09 14:12 ` Arnd Bergmann
2012-11-20 16:08 ` James Hogan
2012-11-20 16:15 ` Arnd Bergmann
2012-12-18 13:25 ` James Hogan
2012-12-19 15:58 ` Arnd Bergmann [this message]
2012-12-20 10:14 ` James Hogan
2012-10-31 16:13 ` [RFC PATCH v1 18/40] metag: System Calls James Hogan
2012-11-09 14:20 ` Arnd Bergmann
2012-11-22 12:01 ` James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 19/40] metag: Scheduling/Process management James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 20/40] metag: Module support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 21/40] metag: Atomics, locks and bitops James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 22/40] metag: Basic documentation James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 23/40] metag: SMP support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 24/40] metag: DMA James Hogan
2012-11-09 14:25 ` Arnd Bergmann
2012-11-23 15:53 ` James Hogan
2012-11-23 16:20 ` James Hogan
2012-11-23 16:20 ` James Hogan
2012-11-23 16:47 ` Arnd Bergmann
2013-01-09 16:04 ` James Hogan
2013-01-09 16:04 ` James Hogan
2013-01-09 16:08 ` Arnd Bergmann
2012-11-23 16:47 ` Arnd Bergmann
2012-10-31 16:14 ` [RFC PATCH v1 25/40] metag: optimised library functions James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 26/40] metag: Stack unwinding James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 27/40] metag: various other headers James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 28/40] metag: Perf James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 29/40] metag: ftrace support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 30/40] scripts/checkstack.pl: Add metag support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 31/40] char: don't build rtc or genrtc on METAG James Hogan
2012-11-01 15:39 ` Greg KH
2012-11-01 17:33 ` James Hogan
2012-11-09 14:38 ` Arnd Bergmann
2012-10-31 16:14 ` [RFC PATCH v1 32/40] i8042: don't build " James Hogan
2012-11-09 14:28 ` Arnd Bergmann
2012-11-16 11:06 ` James Hogan
2012-11-16 15:20 ` Arnd Bergmann
2012-11-16 16:19 ` Geert Uytterhoeven
2012-11-16 16:43 ` Arnd Bergmann
2012-11-16 16:50 ` James Hogan
2012-11-16 17:20 ` Arnd Bergmann
2012-10-31 16:14 ` [RFC PATCH v1 33/40] parport: " James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 34/40] musb: don't redefine {read,write}s{l,w,b} on metag James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 35/40] vga console: don't build on METAG James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 36/40] metag: OProfile James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 37/40] metag: Various sysfs drivers James Hogan
2012-10-31 19:30 ` Greg KH
2012-10-31 19:41 ` James Hogan
2012-11-09 14:32 ` Arnd Bergmann
2012-11-09 14:35 ` James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 38/40] metag: add JTAG Debug Adapter (DA) support James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 39/40] tty/metag_da: add metag DA TTY driver James Hogan
2012-10-31 16:14 ` [RFC PATCH v1 40/40] fs: dafs: Add DAFS filesystem for metag James Hogan
2012-10-31 16:14 ` James Hogan
2012-10-31 16:42 ` Al Viro
2012-10-31 19:39 ` James Hogan
2012-10-31 19:39 ` James Hogan
2012-10-31 19:55 ` Myklebust, Trond
2012-10-31 21:39 ` James Hogan
2012-11-02 9:33 ` James Hogan
2012-10-31 16:26 ` [RFC PATCH v1 00/40] Meta Linux Kernel Port James Hogan
2012-11-09 15:06 ` Arnd Bergmann
2012-11-09 15:21 ` James Hogan
2012-11-09 15:58 ` Arnd Bergmann
2012-11-09 16:20 ` James Hogan
2012-11-09 21:55 ` Arnd Bergmann
2012-11-09 23:28 ` James Hogan
2012-11-12 16:59 ` James Hogan
2012-11-12 19:10 ` Arnd Bergmann
2012-11-13 9:43 ` James Hogan
2012-11-13 9:55 ` Arnd Bergmann
2012-10-31 22:33 ` Tony Breeds
2012-11-01 11:42 ` James Hogan
2012-11-01 23:28 ` Tony Breeds
2012-11-09 16:52 ` James Hogan
2012-11-09 15:16 ` Arnd Bergmann
2012-11-09 16:06 ` James Hogan
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=201212191558.57271.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=grant.likely@secretlab.ca \
--cc=james.hogan@imgtec.com \
--cc=linux-arch@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 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.