Commit 2a4fe14b authored by Ben Dooks's avatar Ben Dooks Committed by Jason Cooper

irqchip/exynos-combiner: Fix usage of __raw IO

Fix the use of __raw IO accessors when the readl/writel_relaxed
are better. This should fix issues if the kernel is running as
big endian.
Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
[jac: reformat subject line, fix commit message typo]
Link: https://lkml.kernel.org/r/1466504432-24187-9-git-send-email-ben.dooks@codethink.co.ukSigned-off-by: default avatarJason Cooper <jason@lakedaemon.net>
parent df042a5f
...@@ -55,14 +55,14 @@ static void combiner_mask_irq(struct irq_data *data) ...@@ -55,14 +55,14 @@ static void combiner_mask_irq(struct irq_data *data)
{ {
u32 mask = 1 << (data->hwirq % 32); u32 mask = 1 << (data->hwirq % 32);
__raw_writel(mask, combiner_base(data) + COMBINER_ENABLE_CLEAR); writel_relaxed(mask, combiner_base(data) + COMBINER_ENABLE_CLEAR);
} }
static void combiner_unmask_irq(struct irq_data *data) static void combiner_unmask_irq(struct irq_data *data)
{ {
u32 mask = 1 << (data->hwirq % 32); u32 mask = 1 << (data->hwirq % 32);
__raw_writel(mask, combiner_base(data) + COMBINER_ENABLE_SET); writel_relaxed(mask, combiner_base(data) + COMBINER_ENABLE_SET);
} }
static void combiner_handle_cascade_irq(struct irq_desc *desc) static void combiner_handle_cascade_irq(struct irq_desc *desc)
...@@ -75,7 +75,7 @@ static void combiner_handle_cascade_irq(struct irq_desc *desc) ...@@ -75,7 +75,7 @@ static void combiner_handle_cascade_irq(struct irq_desc *desc)
chained_irq_enter(chip, desc); chained_irq_enter(chip, desc);
spin_lock(&irq_controller_lock); spin_lock(&irq_controller_lock);
status = __raw_readl(chip_data->base + COMBINER_INT_STATUS); status = readl_relaxed(chip_data->base + COMBINER_INT_STATUS);
spin_unlock(&irq_controller_lock); spin_unlock(&irq_controller_lock);
status &= chip_data->irq_mask; status &= chip_data->irq_mask;
...@@ -135,7 +135,7 @@ static void __init combiner_init_one(struct combiner_chip_data *combiner_data, ...@@ -135,7 +135,7 @@ static void __init combiner_init_one(struct combiner_chip_data *combiner_data,
combiner_data->parent_irq = irq; combiner_data->parent_irq = irq;
/* Disable all interrupts */ /* Disable all interrupts */
__raw_writel(combiner_data->irq_mask, base + COMBINER_ENABLE_CLEAR); writel_relaxed(combiner_data->irq_mask, base + COMBINER_ENABLE_CLEAR);
} }
static int combiner_irq_domain_xlate(struct irq_domain *d, static int combiner_irq_domain_xlate(struct irq_domain *d,
...@@ -218,7 +218,7 @@ static int combiner_suspend(void) ...@@ -218,7 +218,7 @@ static int combiner_suspend(void)
for (i = 0; i < max_nr; i++) for (i = 0; i < max_nr; i++)
combiner_data[i].pm_save = combiner_data[i].pm_save =
__raw_readl(combiner_data[i].base + COMBINER_ENABLE_SET); readl_relaxed(combiner_data[i].base + COMBINER_ENABLE_SET);
return 0; return 0;
} }
...@@ -235,9 +235,9 @@ static void combiner_resume(void) ...@@ -235,9 +235,9 @@ static void combiner_resume(void)
int i; int i;
for (i = 0; i < max_nr; i++) { for (i = 0; i < max_nr; i++) {
__raw_writel(combiner_data[i].irq_mask, writel_relaxed(combiner_data[i].irq_mask,
combiner_data[i].base + COMBINER_ENABLE_CLEAR); combiner_data[i].base + COMBINER_ENABLE_CLEAR);
__raw_writel(combiner_data[i].pm_save, writel_relaxed(combiner_data[i].pm_save,
combiner_data[i].base + COMBINER_ENABLE_SET); combiner_data[i].base + COMBINER_ENABLE_SET);
} }
} }
......
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