From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Alexandre Courbot <gnurou@gmail.com>
Cc: atull@altera.com, Linus Walleij <linus.walleij@linaro.org>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
dinguyen@altera.com, delicious.quinoa@gmail.com
Subject: [PATCH 7/7 v2] gpio: dwapb: use d->mask instead od BIT(bit)
Date: Tue, 25 Mar 2014 22:18:41 +0100 [thread overview]
Message-ID: <20140325211841.GA31253@linutronix.de> (raw)
In-Reply-To: <CAAVeFu+WQCpo=LEZqdAhpMcO1PLqUzfcVKTafnwe=BiLGLjFZQ@mail.gmail.com>
d->mask contains exact the same information as BIT(bit) so we could save
a few cycles here.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
v1…v2: proper bit delete in dwapb_irq_disable()
drivers/gpio/gpio-dwapb.c | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
index f4276fa..aedbb53 100644
--- a/drivers/gpio/gpio-dwapb.c
+++ b/drivers/gpio/gpio-dwapb.c
@@ -113,7 +113,7 @@ static void dwapb_irq_enable(struct irq_data *d)
irq_gc_lock(igc);
val = readl(gpio->regs + GPIO_INTEN);
- val |= BIT(d->hwirq);
+ val |= d->mask;
writel(val, gpio->regs + GPIO_INTEN);
irq_gc_unlock(igc);
}
@@ -126,7 +126,7 @@ static void dwapb_irq_disable(struct irq_data *d)
irq_gc_lock(igc);
val = readl(gpio->regs + GPIO_INTEN);
- val &= ~BIT(d->hwirq);
+ val &= ~d->mask;
writel(val, gpio->regs + GPIO_INTEN);
irq_gc_unlock(igc);
}
@@ -158,7 +158,6 @@ static int dwapb_irq_set_type(struct irq_data *d, u32 type)
{
struct irq_chip_generic *igc = irq_data_get_irq_chip_data(d);
struct dwapb_gpio *gpio = igc->private;
- int bit = d->hwirq;
unsigned long level, polarity;
if (type & ~(IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING |
@@ -171,24 +170,24 @@ static int dwapb_irq_set_type(struct irq_data *d, u32 type)
switch (type) {
case IRQ_TYPE_EDGE_BOTH:
- level |= BIT(bit);
- dwapb_toggle_trigger(gpio, bit);
+ level |= d->mask;
+ dwapb_toggle_trigger(gpio, d->hwirq);
break;
case IRQ_TYPE_EDGE_RISING:
- level |= BIT(bit);
- polarity |= BIT(bit);
+ level |= d->mask;
+ polarity |= d->mask;
break;
case IRQ_TYPE_EDGE_FALLING:
- level |= BIT(bit);
- polarity &= ~BIT(bit);
+ level |= d->mask;
+ polarity &= ~d->mask;
break;
case IRQ_TYPE_LEVEL_HIGH:
- level &= ~BIT(bit);
- polarity |= BIT(bit);
+ level &= ~d->mask;
+ polarity |= d->mask;
break;
case IRQ_TYPE_LEVEL_LOW:
- level &= ~BIT(bit);
- polarity &= ~BIT(bit);
+ level &= ~d->mask;
+ polarity &= ~d->mask;
break;
}
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Alexandre Courbot <gnurou@gmail.com>
Cc: atull@altera.com, Linus Walleij <linus.walleij@linaro.org>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
dinguyen@altera.com, delicious.quinoa@gmail.com
Subject: [PATCH 7/7 v2] gpio: dwapb: use d->mask instead od BIT(bit)
Date: Tue, 25 Mar 2014 22:18:41 +0100 [thread overview]
Message-ID: <20140325211841.GA31253@linutronix.de> (raw)
In-Reply-To: <CAAVeFu+WQCpo=LEZqdAhpMcO1PLqUzfcVKTafnwe=BiLGLjFZQ@mail.gmail.com>
d->mask contains exact the same information as BIT(bit) so we could save
a few cycles here.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
v1…v2: proper bit delete in dwapb_irq_disable()
drivers/gpio/gpio-dwapb.c | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
index f4276fa..aedbb53 100644
--- a/drivers/gpio/gpio-dwapb.c
+++ b/drivers/gpio/gpio-dwapb.c
@@ -113,7 +113,7 @@ static void dwapb_irq_enable(struct irq_data *d)
irq_gc_lock(igc);
val = readl(gpio->regs + GPIO_INTEN);
- val |= BIT(d->hwirq);
+ val |= d->mask;
writel(val, gpio->regs + GPIO_INTEN);
irq_gc_unlock(igc);
}
@@ -126,7 +126,7 @@ static void dwapb_irq_disable(struct irq_data *d)
irq_gc_lock(igc);
val = readl(gpio->regs + GPIO_INTEN);
- val &= ~BIT(d->hwirq);
+ val &= ~d->mask;
writel(val, gpio->regs + GPIO_INTEN);
irq_gc_unlock(igc);
}
@@ -158,7 +158,6 @@ static int dwapb_irq_set_type(struct irq_data *d, u32 type)
{
struct irq_chip_generic *igc = irq_data_get_irq_chip_data(d);
struct dwapb_gpio *gpio = igc->private;
- int bit = d->hwirq;
unsigned long level, polarity;
if (type & ~(IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING |
@@ -171,24 +170,24 @@ static int dwapb_irq_set_type(struct irq_data *d, u32 type)
switch (type) {
case IRQ_TYPE_EDGE_BOTH:
- level |= BIT(bit);
- dwapb_toggle_trigger(gpio, bit);
+ level |= d->mask;
+ dwapb_toggle_trigger(gpio, d->hwirq);
break;
case IRQ_TYPE_EDGE_RISING:
- level |= BIT(bit);
- polarity |= BIT(bit);
+ level |= d->mask;
+ polarity |= d->mask;
break;
case IRQ_TYPE_EDGE_FALLING:
- level |= BIT(bit);
- polarity &= ~BIT(bit);
+ level |= d->mask;
+ polarity &= ~d->mask;
break;
case IRQ_TYPE_LEVEL_HIGH:
- level &= ~BIT(bit);
- polarity |= BIT(bit);
+ level &= ~d->mask;
+ polarity |= d->mask;
break;
case IRQ_TYPE_LEVEL_LOW:
- level &= ~BIT(bit);
- polarity &= ~BIT(bit);
+ level &= ~d->mask;
+ polarity &= ~d->mask;
break;
}
--
1.9.1
next prev parent reply other threads:[~2014-03-25 21:18 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-22 16:16 dwapb: a bug fix a few cleanups, v2 Sebastian Andrzej Siewior
2014-03-22 16:16 ` [PATCH 1/7] ARM: dts: socfpga: add gpio pieces Sebastian Andrzej Siewior
2014-05-05 22:02 ` Olof Johansson
[not found] ` <CAOesGMi_0fT4UbfGUp9jkrwYMXgfxC5gmXOBviU9PjAutPdHiw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-06 15:01 ` Alan Tull
2014-05-06 15:01 ` Alan Tull
2014-05-13 8:45 ` Linus Walleij
2014-03-22 16:16 ` [PATCH 2/7] gpio: dwapb: correct gpio-cells in binding document Sebastian Andrzej Siewior
2014-03-25 20:49 ` Linus Walleij
2014-03-25 20:57 ` Sebastian Andrzej Siewior
2014-03-25 21:00 ` Linus Walleij
2014-03-22 16:16 ` [PATCH 3/7] gpio: dwapb: drop irq_setup_generic_chip() Sebastian Andrzej Siewior
2014-03-22 16:16 ` [PATCH 4/7] gpio: dwapb: use irq_linear_revmap() for the faster lookup Sebastian Andrzej Siewior
2014-03-22 16:16 ` [PATCH 5/7] gpio: dwapb: use irq_gc_lock() for locking instead bc's lock Sebastian Andrzej Siewior
2014-03-22 16:16 ` [PATCH 6/7] gpio: dwapb: use a second irq chip Sebastian Andrzej Siewior
2014-03-25 18:48 ` delicious quinoa
2014-03-25 19:40 ` Sebastian Andrzej Siewior
2014-03-25 21:36 ` Sebastian Hesselbarth
2014-04-07 9:59 ` Sebastian Andrzej Siewior
2014-04-08 15:11 ` delicious quinoa
2014-04-30 11:13 ` [PATCH 6/7 v2] " Sebastian Andrzej Siewior
2014-04-30 11:13 ` Sebastian Andrzej Siewior
2014-05-09 11:46 ` Linus Walleij
2014-05-09 11:46 ` Linus Walleij
2014-05-13 16:17 ` Alan Tull
2014-05-13 16:17 ` Alan Tull
2014-05-16 15:01 ` Linus Walleij
2014-05-16 15:01 ` Linus Walleij
2014-05-22 9:42 ` Sebastian Andrzej Siewior
2014-05-22 14:08 ` Alan Tull
2014-05-26 21:02 ` Sebastian Andrzej Siewior
2014-05-26 20:58 ` [PATCH v3] " Sebastian Andrzej Siewior
2014-05-27 9:55 ` Jamie Iles
2014-05-27 14:21 ` Linus Walleij
2014-05-27 16:30 ` Sebastian Andrzej Siewior
2014-05-28 9:01 ` Linus Walleij
2014-05-28 9:26 ` Sebastian Andrzej Siewior
2014-03-22 16:16 ` [PATCH 7/7] gpio: dwapb: use d->mask instead od BIT(bit) Sebastian Andrzej Siewior
2014-03-25 2:17 ` Alexandre Courbot
2014-03-25 7:54 ` Sebastian Andrzej Siewior
2014-03-25 21:18 ` Sebastian Andrzej Siewior [this message]
2014-03-25 21:18 ` [PATCH 7/7 v2] " Sebastian Andrzej Siewior
2014-03-25 21:25 ` Joe Perches
2014-03-25 20:45 ` dwapb: a bug fix a few cleanups, v2 Linus Walleij
2014-03-25 21:26 ` Sebastian Hesselbarth
2014-03-25 21:39 ` Sebastian Hesselbarth
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=20140325211841.GA31253@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=atull@altera.com \
--cc=delicious.quinoa@gmail.com \
--cc=dinguyen@altera.com \
--cc=gnurou@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@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 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.