From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Jon Smirl <jonsmirl@gmail.com>
Cc: linuxppc-dev <Linuxppc-dev@ozlabs.org>,
Roland Dreier <rdreier@cisco.com>
Subject: Re: demuxing irqs
Date: Tue, 16 Sep 2008 17:12:03 +0400 [thread overview]
Message-ID: <20080916131203.GA21641@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <9e4733910809160537s67812bf5x3d4d46a384f8237f@mail.gmail.com>
On Tue, Sep 16, 2008 at 08:37:55AM -0400, Jon Smirl wrote:
> On Tue, Sep 16, 2008 at 8:17 AM, Anton Vorontsov
> <avorontsov@ru.mvista.com> wrote:
> > Hi Jon,
> >
> > On Sun, Sep 14, 2008 at 11:06:23PM -0400, Jon Smirl wrote:
> >> I have demultiplexing the GPIO interrupts working well enough to make
> >> my hardware work. But now I've discovered that these interrupts can't
> >> do what I need.
> >>
> >> Anton, Grant - are either of you interested in this code? It's not
> >> finished but the main ideas are in place.
> >
> > I think there is a small issue that ruins the whole approach.. :-/
> >
> >> --- a/arch/powerpc/include/asm/gpio.h
> >> +++ b/arch/powerpc/include/asm/gpio.h
> >> @@ -38,17 +38,14 @@ static inline int gpio_cansleep(unsigned int gpio)
> >> return __gpio_cansleep(gpio);
> >> }
> >>
> >> -/*
> >> - * Not implemented, yet.
> >> - */
> >> -static inline int gpio_to_irq(unsigned int gpio)
> >> +static inline unsigned int gpio_to_irq(unsigned int gpio)
> >> {
> >> - return -ENOSYS;
> >> + return gpio;
> >
> > "GPIO 0" is valid gpio, but "IRQ 0" isn't valid virq. So you
> > can't do 1:1 mapping. :-(
>
> I changed the GPIO numbers inside of Linux to match the virqs.
>
> ofchip->gc.base = IRQ_GPIO_WKUP(0);
Well, I didn't say that it will not work, what I'm trying to say
is that I don't quite like the idea of 1:1 mapping for all gpio
chips.
It is error prone, i.e. gpio_to_irq() can't fail, so you can't
tell if gpio to irq translation really happened or not. Plus
we might decide to not do 1:1 mapping for other gpio chips.
I think that this translation should go via gpiolib's callback
(there is no .to_irq callback, but we should implement one).
In the callback you can still do 1:1 mapping, but this mapping
will work only for this particular gpio chip, and not for others.
--
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2
next prev parent reply other threads:[~2008-09-16 13:12 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-13 19:06 demuxing irqs Jon Smirl
2008-09-13 22:41 ` Roland Dreier
2008-09-13 22:54 ` Jon Smirl
2008-09-13 23:04 ` Roland Dreier
2008-09-13 23:23 ` Jon Smirl
2008-09-14 14:06 ` Jon Smirl
2008-09-14 23:25 ` Jon Smirl
2008-09-15 3:06 ` Jon Smirl
2008-09-16 12:17 ` Anton Vorontsov
2008-09-16 12:37 ` Jon Smirl
2008-09-16 13:12 ` Anton Vorontsov [this message]
2008-09-16 13:36 ` Jon Smirl
2008-09-16 14:14 ` Anton Vorontsov
2008-09-16 14:24 ` Jon Smirl
2008-09-16 17:49 ` Scott Wood
2008-09-16 18:32 ` Jon Smirl
2008-09-16 21:42 ` Anton Vorontsov
2008-09-16 22:08 ` Jon Smirl
2008-09-16 23:24 ` Scott Wood
2008-09-16 23:47 ` Jon Smirl
2008-09-17 12:56 ` Anton Vorontsov
2008-09-17 14:09 ` Jon Smirl
2008-09-17 17:54 ` Stephen Neuendorffer
2008-09-16 14:29 ` Jon Smirl
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=20080916131203.GA21641@oksana.dev.rtsoft.ru \
--to=avorontsov@ru.mvista.com \
--cc=Linuxppc-dev@ozlabs.org \
--cc=jonsmirl@gmail.com \
--cc=rdreier@cisco.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 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).