MIPS: lantiq: Move macro directly to iomem function
Using the variable as a temporary holder for the macro of the register offset value is not necessary. Move it directly to the IOMEM read/write call. Signed-off-by: Petr Cvek <petrcvekcz@gmail.com> Signed-off-by: Paul Burton <paul.burton@mips.com> Cc: hauke@hauke-m.de Cc: john@phrozen.org Cc: linux-mips@vger.kernel.org Cc: openwrt-devel@lists.openwrt.org Cc: pakahmar@hotmail.com
This commit is contained in:
Родитель
1e2791448b
Коммит
aa0f58b466
|
@ -77,44 +77,42 @@ int ltq_eiu_get_irq(int exin)
|
|||
|
||||
void ltq_disable_irq(struct irq_data *d)
|
||||
{
|
||||
u32 ier = LTQ_ICU_IM0_IER;
|
||||
int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
|
||||
int im = offset / INT_NUM_IM_OFFSET;
|
||||
|
||||
offset %= INT_NUM_IM_OFFSET;
|
||||
ltq_icu_w32(im, ltq_icu_r32(im, ier) & ~BIT(offset), ier);
|
||||
ltq_icu_w32(im, ltq_icu_r32(im, LTQ_ICU_IM0_IER) & ~BIT(offset),
|
||||
LTQ_ICU_IM0_IER);
|
||||
}
|
||||
|
||||
void ltq_mask_and_ack_irq(struct irq_data *d)
|
||||
{
|
||||
u32 ier = LTQ_ICU_IM0_IER;
|
||||
u32 isr = LTQ_ICU_IM0_ISR;
|
||||
int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
|
||||
int im = offset / INT_NUM_IM_OFFSET;
|
||||
|
||||
offset %= INT_NUM_IM_OFFSET;
|
||||
ltq_icu_w32(im, ltq_icu_r32(im, ier) & ~BIT(offset), ier);
|
||||
ltq_icu_w32(im, BIT(offset), isr);
|
||||
ltq_icu_w32(im, ltq_icu_r32(im, LTQ_ICU_IM0_IER) & ~BIT(offset),
|
||||
LTQ_ICU_IM0_IER);
|
||||
ltq_icu_w32(im, BIT(offset), LTQ_ICU_IM0_ISR);
|
||||
}
|
||||
|
||||
static void ltq_ack_irq(struct irq_data *d)
|
||||
{
|
||||
u32 isr = LTQ_ICU_IM0_ISR;
|
||||
int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
|
||||
int im = offset / INT_NUM_IM_OFFSET;
|
||||
|
||||
offset %= INT_NUM_IM_OFFSET;
|
||||
ltq_icu_w32(im, BIT(offset), isr);
|
||||
ltq_icu_w32(im, BIT(offset), LTQ_ICU_IM0_ISR);
|
||||
}
|
||||
|
||||
void ltq_enable_irq(struct irq_data *d)
|
||||
{
|
||||
u32 ier = LTQ_ICU_IM0_IER;
|
||||
int offset = d->hwirq - MIPS_CPU_IRQ_CASCADE;
|
||||
int im = offset / INT_NUM_IM_OFFSET;
|
||||
|
||||
offset %= INT_NUM_IM_OFFSET;
|
||||
ltq_icu_w32(im, ltq_icu_r32(im, ier) | BIT(offset), ier);
|
||||
ltq_icu_w32(im, ltq_icu_r32(im, LTQ_ICU_IM0_IER) | BIT(offset),
|
||||
LTQ_ICU_IM0_IER);
|
||||
}
|
||||
|
||||
static int ltq_eiu_settype(struct irq_data *d, unsigned int type)
|
||||
|
|
Загрузка…
Ссылка в новой задаче