From: Grant Likely <grant.likely@secretlab.ca>
To: Sekhar Nori <nsekhar@ti.com>,
Linus Walleij <linus.walleij@stericsson.com>
Cc: linux-kernel@vger.kernel.org,
davinci-linux-open-source@linux.davincidsp.com
Subject: Re: [PATCH 2/2] gpio/davinci: fix enabling unbanked GPIO IRQs
Date: Mon, 12 Mar 2012 11:53:51 -0600 [thread overview]
Message-ID: <20120312175351.EA12E3E07B0@localhost> (raw)
In-Reply-To: <1331469972-2638-3-git-send-email-nsekhar@ti.com>
On Sun, 11 Mar 2012 18:16:12 +0530, Sekhar Nori <nsekhar@ti.com> wrote:
> Unbanked GPIO IRQ handling code made a copy of just
> the irq_chip structure for GPIO IRQ lines which caused
> problems after the generic IRQ chip conversion because
> there was no valid irq_chip_type structure with the
> right "regs" populated. irq_gc_mask_set_bit() was
> therefore accessing random addresses.
>
> Fix it by making a copy of irq_chip_type structure
> instead. This will ensure sane register offsets.
>
> Cc: <stable@vger.kernel.org> # v3.0.x+
> Reported-by: Jon Povey <Jon.Povey@racelogic.co.uk>
> Tested-by: Jon Povey <Jon.Povey@racelogic.co.uk>
> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Applied, thx.
g.
> ---
> drivers/gpio/gpio-davinci.c | 11 ++++++-----
> 1 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
> index a6777e5..3d00016 100644
> --- a/drivers/gpio/gpio-davinci.c
> +++ b/drivers/gpio/gpio-davinci.c
> @@ -386,7 +386,7 @@ static int __init davinci_gpio_irq_setup(void)
> * IRQ mux conflicts; gpio_irq_type_unbanked() is only for GPIOs.
> */
> if (soc_info->gpio_unbanked) {
> - static struct irq_chip gpio_irqchip_unbanked;
> + static struct irq_chip_type gpio_unbanked;
>
> /* pass "bank 0" GPIO IRQs to AINTC */
> chips[0].chip.to_irq = gpio_to_irq_unbanked;
> @@ -394,9 +394,10 @@ static int __init davinci_gpio_irq_setup(void)
>
> /* AINTC handles mask/unmask; GPIO handles triggering */
> irq = bank_irq;
> - gpio_irqchip_unbanked = *irq_get_chip(irq);
> - gpio_irqchip_unbanked.name = "GPIO-AINTC";
> - gpio_irqchip_unbanked.irq_set_type = gpio_irq_type_unbanked;
> + gpio_unbanked = *container_of(irq_get_chip(irq),
> + struct irq_chip_type, chip);
> + gpio_unbanked.chip.name = "GPIO-AINTC";
> + gpio_unbanked.chip.irq_set_type = gpio_irq_type_unbanked;
>
> /* default trigger: both edges */
> g = gpio2regs(0);
> @@ -405,7 +406,7 @@ static int __init davinci_gpio_irq_setup(void)
>
> /* set the direct IRQs up to use that irqchip */
> for (gpio = 0; gpio < soc_info->gpio_unbanked; gpio++, irq++) {
> - irq_set_chip(irq, &gpio_irqchip_unbanked);
> + irq_set_chip(irq, &gpio_unbanked.chip);
> irq_set_handler_data(irq, &chips[gpio / 32]);
> irq_set_status_flags(irq, IRQ_TYPE_EDGE_BOTH);
> }
> --
> 1.7.0.4
>
--
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies,Ltd.
prev parent reply other threads:[~2012-03-12 17:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1331469972-2638-1-git-send-email-nsekhar@ti.com>
[not found] ` <1331469972-2638-2-git-send-email-nsekhar@ti.com>
2012-03-12 17:51 ` [PATCH 1/2] gpio/davinci: fix oops on unbanked gpio irq request Grant Likely
2012-03-12 18:54 ` Nori, Sekhar
2012-03-13 4:39 ` Grant Likely
[not found] ` <1331469972-2638-3-git-send-email-nsekhar@ti.com>
2012-03-12 17:53 ` Grant Likely [this message]
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=20120312175351.EA12E3E07B0@localhost \
--to=grant.likely@secretlab.ca \
--cc=davinci-linux-open-source@linux.davincidsp.com \
--cc=linus.walleij@stericsson.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nsekhar@ti.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 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.