Commit 9a99d555 authored by viresh kumar's avatar viresh kumar Committed by Russell King

ARM: 6059/1: PL061 GPIO: Changing *_irq_chip_data with *_irq_data for real irqs.

PL061 driver is using set_irq_chip_data and get_irq_chip_data for real
irq lines. It must be using *_irq_data functions instead. As chip_data
is used by interrupt controllers also, which makes vic write at incorrect
addresses.
Signed-off-by: default avatarViresh Kumar <viresh.kumar@st.com>
Acked-by: default avatarBaruch Siach <baruch@tkos.co.il>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 313af42b
...@@ -204,7 +204,7 @@ static struct irq_chip pl061_irqchip = { ...@@ -204,7 +204,7 @@ static struct irq_chip pl061_irqchip = {
static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) static void pl061_irq_handler(unsigned irq, struct irq_desc *desc)
{ {
struct list_head *chip_list = get_irq_chip_data(irq); struct list_head *chip_list = get_irq_data(irq);
struct list_head *ptr; struct list_head *ptr;
struct pl061_gpio *chip; struct pl061_gpio *chip;
...@@ -297,9 +297,9 @@ static int __init pl061_probe(struct amba_device *dev, struct amba_id *id) ...@@ -297,9 +297,9 @@ static int __init pl061_probe(struct amba_device *dev, struct amba_id *id)
goto iounmap; goto iounmap;
} }
INIT_LIST_HEAD(chip_list); INIT_LIST_HEAD(chip_list);
set_irq_chip_data(irq, chip_list); set_irq_data(irq, chip_list);
} else } else
chip_list = get_irq_chip_data(irq); chip_list = get_irq_data(irq);
list_add(&chip->list, chip_list); list_add(&chip->list, chip_list);
for (i = 0; i < PL061_GPIO_NR; i++) { for (i = 0; i < PL061_GPIO_NR; i++) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment