linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: broonie@opensource.wolfsonmicro.com (Mark Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] gpio add interrupt support on pca953x
Date: Tue, 22 Dec 2009 12:51:29 +0000	[thread overview]
Message-ID: <20091222125129.GA8522@sirena.org.uk> (raw)
In-Reply-To: <771cded00912220429k141600c7yffc7d3955f220934@mail.gmail.com>

On Tue, Dec 22, 2009 at 07:29:03AM -0500, Haojian Zhuang wrote:

> +static void pca953x_irq_work(struct work_struct *work)
> +{
> +	DECLARE_BITMAP(rising, PCA953X_NUM_IRQ);
> +	DECLARE_BITMAP(falling, PCA953X_NUM_IRQ);

...

> +static void pca953x_irq_handler(unsigned int irq, struct irq_desc *desc)
> +{
> +	struct pca953x_chip *chip = desc->handler_data;
> +
> +	desc->chip->ack(irq);
> +	schedule_work(&chip->irq_work);
> +}

genirq ought to be able to handle this in-line with the assistance of
the lock() and sync_unlock() operations that are available to irq_chip,
you shouldn't need a workqueue.  The wm831x driver is as far as I know
the only driver actually doing this at the minute.

> +static struct irq_chip pca953x_irqchip = {
> +	.name		= "GPIO",

Might be nice to call this "pxa953x" or something else including that
name - GPIO is a bit too generic, it's not going to immediately obvious
which chip this GPIO is for.

  parent reply	other threads:[~2009-12-22 12:51 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-22 12:29 [PATCH 1/2] gpio add interrupt support on pca953x Haojian Zhuang
2009-12-22 12:44 ` Trilok Soni
2009-12-22 12:51 ` Mark Brown [this message]
2009-12-22 13:41 ` Eric Miao
2009-12-22 13:54   ` Marc Zyngier
2009-12-22 19:59   ` Marc Zyngier
2009-12-23  1:34     ` Eric Miao
2009-12-23  8:35     ` Haojian Zhuang
2009-12-23 11:18       ` Marc Zyngier
2009-12-23 13:29         ` Mark Brown
2009-12-23 13:48           ` Haojian Zhuang
2009-12-23 14:16             ` Mark Brown

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=20091222125129.GA8522@sirena.org.uk \
    --to=broonie@opensource.wolfsonmicro.com \
    --cc=linux-arm-kernel@lists.infradead.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).