Skip to content

Commit d0da7c0

Browse files
KAGA-KOKOralfbaechle
authored andcommitted
MIPS: DEC: Convert to new irq_chip functions
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2178/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
1 parent a611991 commit d0da7c0

File tree

2 files changed

+24
-59
lines changed

2 files changed

+24
-59
lines changed

arch/mips/dec/ioasic-irq.c

Lines changed: 14 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -17,80 +17,48 @@
1717
#include <asm/dec/ioasic_addrs.h>
1818
#include <asm/dec/ioasic_ints.h>
1919

20-
2120
static int ioasic_irq_base;
2221

23-
24-
static inline void unmask_ioasic_irq(unsigned int irq)
22+
static void unmask_ioasic_irq(struct irq_data *d)
2523
{
2624
u32 simr;
2725

2826
simr = ioasic_read(IO_REG_SIMR);
29-
simr |= (1 << (irq - ioasic_irq_base));
27+
simr |= (1 << (d->irq - ioasic_irq_base));
3028
ioasic_write(IO_REG_SIMR, simr);
3129
}
3230

33-
static inline void mask_ioasic_irq(unsigned int irq)
31+
static void mask_ioasic_irq(struct irq_data *d)
3432
{
3533
u32 simr;
3634

3735
simr = ioasic_read(IO_REG_SIMR);
38-
simr &= ~(1 << (irq - ioasic_irq_base));
36+
simr &= ~(1 << (d->irq - ioasic_irq_base));
3937
ioasic_write(IO_REG_SIMR, simr);
4038
}
4139

42-
static inline void clear_ioasic_irq(unsigned int irq)
40+
static void ack_ioasic_irq(struct irq_data *d)
4341
{
44-
u32 sir;
45-
46-
sir = ~(1 << (irq - ioasic_irq_base));
47-
ioasic_write(IO_REG_SIR, sir);
48-
}
49-
50-
static inline void ack_ioasic_irq(unsigned int irq)
51-
{
52-
mask_ioasic_irq(irq);
42+
mask_ioasic_irq(d);
5343
fast_iob();
5444
}
5545

56-
static inline void end_ioasic_irq(unsigned int irq)
57-
{
58-
if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
59-
unmask_ioasic_irq(irq);
60-
}
61-
6246
static struct irq_chip ioasic_irq_type = {
6347
.name = "IO-ASIC",
64-
.ack = ack_ioasic_irq,
65-
.mask = mask_ioasic_irq,
66-
.mask_ack = ack_ioasic_irq,
67-
.unmask = unmask_ioasic_irq,
48+
.irq_ack = ack_ioasic_irq,
49+
.irq_mask = mask_ioasic_irq,
50+
.irq_mask_ack = ack_ioasic_irq,
51+
.irq_unmask = unmask_ioasic_irq,
6852
};
6953

70-
71-
#define unmask_ioasic_dma_irq unmask_ioasic_irq
72-
73-
#define mask_ioasic_dma_irq mask_ioasic_irq
74-
75-
#define ack_ioasic_dma_irq ack_ioasic_irq
76-
77-
static inline void end_ioasic_dma_irq(unsigned int irq)
78-
{
79-
clear_ioasic_irq(irq);
80-
fast_iob();
81-
end_ioasic_irq(irq);
82-
}
83-
8454
static struct irq_chip ioasic_dma_irq_type = {
8555
.name = "IO-ASIC-DMA",
86-
.ack = ack_ioasic_dma_irq,
87-
.mask = mask_ioasic_dma_irq,
88-
.mask_ack = ack_ioasic_dma_irq,
89-
.unmask = unmask_ioasic_dma_irq,
90-
.end = end_ioasic_dma_irq,
56+
.irq_ack = ack_ioasic_irq,
57+
.irq_mask = mask_ioasic_irq,
58+
.irq_mask_ack = ack_ioasic_irq,
59+
.irq_unmask = unmask_ioasic_irq,
9160
};
9261

93-
9462
void __init init_ioasic_irqs(int base)
9563
{
9664
int i;

arch/mips/dec/kn02-irq.c

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,43 +27,40 @@
2727
*/
2828
u32 cached_kn02_csr;
2929

30-
3130
static int kn02_irq_base;
3231

33-
34-
static inline void unmask_kn02_irq(unsigned int irq)
32+
static void unmask_kn02_irq(struct irq_data *d)
3533
{
3634
volatile u32 *csr = (volatile u32 *)CKSEG1ADDR(KN02_SLOT_BASE +
3735
KN02_CSR);
3836

39-
cached_kn02_csr |= (1 << (irq - kn02_irq_base + 16));
37+
cached_kn02_csr |= (1 << (d->irq - kn02_irq_base + 16));
4038
*csr = cached_kn02_csr;
4139
}
4240

43-
static inline void mask_kn02_irq(unsigned int irq)
41+
static void mask_kn02_irq(struct irq_data *d)
4442
{
4543
volatile u32 *csr = (volatile u32 *)CKSEG1ADDR(KN02_SLOT_BASE +
4644
KN02_CSR);
4745

48-
cached_kn02_csr &= ~(1 << (irq - kn02_irq_base + 16));
46+
cached_kn02_csr &= ~(1 << (d->irq - kn02_irq_base + 16));
4947
*csr = cached_kn02_csr;
5048
}
5149

52-
static void ack_kn02_irq(unsigned int irq)
50+
static void ack_kn02_irq(struct irq_data *d)
5351
{
54-
mask_kn02_irq(irq);
52+
mask_kn02_irq(d);
5553
iob();
5654
}
5755

5856
static struct irq_chip kn02_irq_type = {
5957
.name = "KN02-CSR",
60-
.ack = ack_kn02_irq,
61-
.mask = mask_kn02_irq,
62-
.mask_ack = ack_kn02_irq,
63-
.unmask = unmask_kn02_irq,
58+
.irq_ack = ack_kn02_irq,
59+
.irq_mask = mask_kn02_irq,
60+
.irq_mask_ack = ack_kn02_irq,
61+
.irq_unmask = unmask_kn02_irq,
6462
};
6563

66-
6764
void __init init_kn02_irqs(int base)
6865
{
6966
volatile u32 *csr = (volatile u32 *)CKSEG1ADDR(KN02_SLOT_BASE +

0 commit comments

Comments
 (0)