From: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>,
Grant Likely
<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
Benjamin Herrenschmidt
<benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>,
Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 2/9] irqdomain: Introduce __irq_create_mapping()
Date: Tue, 24 Sep 2013 20:28:21 +0200 [thread overview]
Message-ID: <20130924182820.GA9911@mithrandir> (raw)
In-Reply-To: <CACRpkdZMM9RUkRCWG0mYbF9PL-fOdDncpY05xG3F5BF55hn5ug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 3014 bytes --]
On Tue, Sep 24, 2013 at 02:20:44PM +0200, Linus Walleij wrote:
> On Mon, Sep 23, 2013 at 10:29 PM, Thierry Reding
> <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> > On Mon, Sep 23, 2013 at 09:14:30PM +0200, Linus Walleij wrote:
>
> >> I think it is better to first go over the call sites and make them
> >> all handle negative return numbers rather than pushing the
> >> obscure __interface.
> (...)
> >
> > Well, the problem is that the current patch changes the signature of the
> > function as well, therefore the call sites will have to be updated all
> > at once in a single patch to avoid build breakage.
>
> Hm yeah OK I see the problem, but can we atleast avoid the
> __thing? Like calling the new function irq_create_mapping_strict()
> or whatever.
_strict sort of implies that it does something more than the non-strict
irq_create_mapping() while it really doesn't. Perhaps the alternative
proposed below would indeed be a better solution.
> > Another alternative could be to change the signature in a way that does
> > not break compatibility. For instance I think it could work out if we
> > change this function to return int instead of unsigned int but keep the
> > same semantics to begin with (return 0 on failure). Then update all call
> > sites to handle potential negative errors and after that return negative
> > error codes.
>
> Hm that sounds like an attractive solution to me actually.
The only thing we'd loose is the additional bit, but given that most (if
not all) platforms that use DT are 32-bit (do we actually support any
platforms that don't have 32-bit integers?) that should not matter at
all. We're not very likely to get anywhere near that number of
interrupts in the system.
> > That still wouldn't catch any callers introduced between
> > the patch creation and application.
>
> Such things happen all the time, just have to be attentive in
> what goes into linux-next...
Given that linux-next might not be with us for much longer before the
3.12 release, I'm thinking of deferring the series until then. Or at
least trying to get it merged. Otherwise we'll probably have to deal
with a lot of fall out during the merge window.
In any case, it'd be nice to get some feedback on the general idea of
the patch series from other people involved. I'd hate to do all the
conversions just to have it NAKed at the last minute.
> Another minor thing:
>
> +static int __irq_create_mapping(struct irq_domain *domain,
> + irq_hw_number_t hwirq, unsigned int *virqp)
>
> Unless you can make a very good case for why there should
> be a "v" in the beginning of virqp, then remove it and call it
> "irqp" simply.
>
> All Linux IRQs are virtual and we're already clearly separating
> out those that are not by calling them "hwirq".
Yeah, I was just trying to adapt to what was already there. But with the
alternative proposal that'll go away anyway.
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2013-09-24 18:28 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-16 8:31 [PATCH 0/9] of/irq: Defer interrupt reference resolution Thierry Reding
[not found] ` <1379320326-13241-1-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-16 8:31 ` [PATCH 1/9] of/irq: Rework of_irq_count() Thierry Reding
2013-09-16 8:31 ` [PATCH 2/9] irqdomain: Introduce __irq_create_mapping() Thierry Reding
2013-09-23 19:14 ` Linus Walleij
2013-09-23 20:29 ` Thierry Reding
2013-09-24 12:20 ` Linus Walleij
[not found] ` <CACRpkdZMM9RUkRCWG0mYbF9PL-fOdDncpY05xG3F5BF55hn5ug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-24 18:28 ` Thierry Reding [this message]
2013-09-26 10:57 ` Linus Walleij
2013-09-16 8:32 ` [PATCH 3/9] irqdomain: Introduce __irq_create_of_mapping() Thierry Reding
[not found] ` <1379320326-13241-4-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-16 21:17 ` Rob Herring
[not found] ` <52377568.6010204-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-17 8:21 ` Thierry Reding
2013-09-23 19:15 ` Linus Walleij
2013-09-16 8:32 ` [PATCH 4/9] of/irq: Introduce of_irq_get() Thierry Reding
[not found] ` <1379320326-13241-5-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-16 21:24 ` Rob Herring
[not found] ` <5237771F.1060908-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-17 13:28 ` Thierry Reding
2013-09-23 19:18 ` Linus Walleij
[not found] ` <CACRpkdYQxD_GAeym7D=npBfrmn88MRYOFh9i2V0xeByiEiWKGQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-23 20:49 ` Thierry Reding
2013-09-16 8:32 ` [PATCH 5/9] of/irq: Introduce __of_irq_to_resource() Thierry Reding
[not found] ` <1379320326-13241-6-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-16 21:29 ` Rob Herring
2013-09-23 19:20 ` Linus Walleij
[not found] ` <CACRpkdadFct8iXSaRRQ3a2YQryfMjJwVaq+8wgWXS1Ymj3M_WA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-23 20:50 ` Thierry Reding
2013-09-16 8:32 ` [PATCH 6/9] of/irq: Propagate errors in of_irq_to_resource_table() Thierry Reding
2013-09-16 8:32 ` [PATCH 7/9] of/platform: Resolve interrupt references at probe time Thierry Reding
[not found] ` <1379320326-13241-8-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-17 13:04 ` Strashko, Grygorii
2013-09-18 10:43 ` Thierry Reding
2013-09-16 8:32 ` [PATCH 8/9] of/i2c: " Thierry Reding
[not found] ` <1379320326-13241-9-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-23 7:34 ` Wolfram Sang
2013-09-23 8:02 ` Thierry Reding
2013-09-23 8:35 ` Wolfram Sang
2013-09-16 8:32 ` [PATCH 9/9] gpio: tegra: Use module_platform_driver() Thierry Reding
[not found] ` <1379320326-13241-10-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-23 19:25 ` Linus Walleij
2013-09-23 20:38 ` Thierry Reding
2013-09-17 11:20 ` [PATCH 0/9] of/irq: Defer interrupt reference resolution Alexandre Belloni
[not found] ` <52383B07.5030806-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2013-09-17 12:43 ` 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=20130924182820.GA9911@mithrandir \
--to=thierry.reding-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
--cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
--cc=wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.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).