diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-10-27 02:30:07 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-10-27 02:30:07 -0400 |
commit | 15ff2c67ab5c45c7382374bc43a5ad218a36045f (patch) | |
tree | 0cd183c5d0dd740ee13bec53220bd32fed75450b | |
parent | e28abafbab4205bda07087ea29cde39a14ba82c9 (diff) |
sh: mach-se: irq_data conversion.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r-- | arch/sh/boards/mach-se/7206/irq.c | 20 | ||||
-rw-r--r-- | arch/sh/boards/mach-se/7343/irq.c | 15 | ||||
-rw-r--r-- | arch/sh/boards/mach-se/7722/irq.c | 15 | ||||
-rw-r--r-- | arch/sh/boards/mach-se/7724/irq.c | 13 |
4 files changed, 32 insertions, 31 deletions
diff --git a/arch/sh/boards/mach-se/7206/irq.c b/arch/sh/boards/mach-se/7206/irq.c index 8d82175d83ab..883b21eacaa6 100644 --- a/arch/sh/boards/mach-se/7206/irq.c +++ b/arch/sh/boards/mach-se/7206/irq.c | |||
@@ -25,8 +25,9 @@ | |||
25 | #define INTC_IPR01 0xfffe0818 | 25 | #define INTC_IPR01 0xfffe0818 |
26 | #define INTC_ICR1 0xfffe0802 | 26 | #define INTC_ICR1 0xfffe0802 |
27 | 27 | ||
28 | static void disable_se7206_irq(unsigned int irq) | 28 | static void disable_se7206_irq(struct irq_data *data) |
29 | { | 29 | { |
30 | unsigned int irq = data->irq; | ||
30 | unsigned short val; | 31 | unsigned short val; |
31 | unsigned short mask = 0xffff ^ (0x0f << 4 * (3 - (IRQ0_IRQ - irq))); | 32 | unsigned short mask = 0xffff ^ (0x0f << 4 * (3 - (IRQ0_IRQ - irq))); |
32 | unsigned short msk0,msk1; | 33 | unsigned short msk0,msk1; |
@@ -55,8 +56,9 @@ static void disable_se7206_irq(unsigned int irq) | |||
55 | __raw_writew(msk1, INTMSK1); | 56 | __raw_writew(msk1, INTMSK1); |
56 | } | 57 | } |
57 | 58 | ||
58 | static void enable_se7206_irq(unsigned int irq) | 59 | static void enable_se7206_irq(struct irq_data *data) |
59 | { | 60 | { |
61 | unsigned int irq = data->irq; | ||
60 | unsigned short val; | 62 | unsigned short val; |
61 | unsigned short value = (0x0001 << 4 * (3 - (IRQ0_IRQ - irq))); | 63 | unsigned short value = (0x0001 << 4 * (3 - (IRQ0_IRQ - irq))); |
62 | unsigned short msk0,msk1; | 64 | unsigned short msk0,msk1; |
@@ -86,13 +88,14 @@ static void enable_se7206_irq(unsigned int irq) | |||
86 | __raw_writew(msk1, INTMSK1); | 88 | __raw_writew(msk1, INTMSK1); |
87 | } | 89 | } |
88 | 90 | ||
89 | static void eoi_se7206_irq(unsigned int irq) | 91 | static void eoi_se7206_irq(struct irq_data *data) |
90 | { | 92 | { |
91 | unsigned short sts0,sts1; | 93 | unsigned short sts0,sts1; |
94 | unsigned int irq = data->irq; | ||
92 | struct irq_desc *desc = irq_to_desc(irq); | 95 | struct irq_desc *desc = irq_to_desc(irq); |
93 | 96 | ||
94 | if (!(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS))) | 97 | if (!(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS))) |
95 | enable_se7206_irq(irq); | 98 | enable_se7206_irq(data); |
96 | /* FPGA isr clear */ | 99 | /* FPGA isr clear */ |
97 | sts0 = __raw_readw(INTSTS0); | 100 | sts0 = __raw_readw(INTSTS0); |
98 | sts1 = __raw_readw(INTSTS1); | 101 | sts1 = __raw_readw(INTSTS1); |
@@ -115,10 +118,9 @@ static void eoi_se7206_irq(unsigned int irq) | |||
115 | 118 | ||
116 | static struct irq_chip se7206_irq_chip __read_mostly = { | 119 | static struct irq_chip se7206_irq_chip __read_mostly = { |
117 | .name = "SE7206-FPGA", | 120 | .name = "SE7206-FPGA", |
118 | .mask = disable_se7206_irq, | 121 | .irq_mask = disable_se7206_irq, |
119 | .unmask = enable_se7206_irq, | 122 | .irq_unmask = enable_se7206_irq, |
120 | .mask_ack = disable_se7206_irq, | 123 | .irq_eoi = eoi_se7206_irq, |
121 | .eoi = eoi_se7206_irq, | ||
122 | }; | 124 | }; |
123 | 125 | ||
124 | static void make_se7206_irq(unsigned int irq) | 126 | static void make_se7206_irq(unsigned int irq) |
@@ -126,7 +128,7 @@ static void make_se7206_irq(unsigned int irq) | |||
126 | disable_irq_nosync(irq); | 128 | disable_irq_nosync(irq); |
127 | set_irq_chip_and_handler_name(irq, &se7206_irq_chip, | 129 | set_irq_chip_and_handler_name(irq, &se7206_irq_chip, |
128 | handle_level_irq, "level"); | 130 | handle_level_irq, "level"); |
129 | disable_se7206_irq(irq); | 131 | disable_se7206_irq(irq_get_irq_data(irq)); |
130 | } | 132 | } |
131 | 133 | ||
132 | /* | 134 | /* |
diff --git a/arch/sh/boards/mach-se/7343/irq.c b/arch/sh/boards/mach-se/7343/irq.c index d4305c26e9f7..76255a19417f 100644 --- a/arch/sh/boards/mach-se/7343/irq.c +++ b/arch/sh/boards/mach-se/7343/irq.c | |||
@@ -18,23 +18,22 @@ | |||
18 | 18 | ||
19 | unsigned int se7343_fpga_irq[SE7343_FPGA_IRQ_NR] = { 0, }; | 19 | unsigned int se7343_fpga_irq[SE7343_FPGA_IRQ_NR] = { 0, }; |
20 | 20 | ||
21 | static void disable_se7343_irq(unsigned int irq) | 21 | static void disable_se7343_irq(struct irq_data *data) |
22 | { | 22 | { |
23 | unsigned int bit = (unsigned int)get_irq_chip_data(irq); | 23 | unsigned int bit = (unsigned int)irq_data_get_irq_chip_data(data); |
24 | __raw_writew(__raw_readw(PA_CPLD_IMSK) | 1 << bit, PA_CPLD_IMSK); | 24 | __raw_writew(__raw_readw(PA_CPLD_IMSK) | 1 << bit, PA_CPLD_IMSK); |
25 | } | 25 | } |
26 | 26 | ||
27 | static void enable_se7343_irq(unsigned int irq) | 27 | static void enable_se7343_irq(struct irq_data *data) |
28 | { | 28 | { |
29 | unsigned int bit = (unsigned int)get_irq_chip_data(irq); | 29 | unsigned int bit = (unsigned int)irq_data_get_irq_chip_data(data); |
30 | __raw_writew(__raw_readw(PA_CPLD_IMSK) & ~(1 << bit), PA_CPLD_IMSK); | 30 | __raw_writew(__raw_readw(PA_CPLD_IMSK) & ~(1 << bit), PA_CPLD_IMSK); |
31 | } | 31 | } |
32 | 32 | ||
33 | static struct irq_chip se7343_irq_chip __read_mostly = { | 33 | static struct irq_chip se7343_irq_chip __read_mostly = { |
34 | .name = "SE7343-FPGA", | 34 | .name = "SE7343-FPGA", |
35 | .mask = disable_se7343_irq, | 35 | .irq_mask = disable_se7343_irq, |
36 | .unmask = enable_se7343_irq, | 36 | .irq_unmask = enable_se7343_irq, |
37 | .mask_ack = disable_se7343_irq, | ||
38 | }; | 37 | }; |
39 | 38 | ||
40 | static void se7343_irq_demux(unsigned int irq, struct irq_desc *desc) | 39 | static void se7343_irq_demux(unsigned int irq, struct irq_desc *desc) |
diff --git a/arch/sh/boards/mach-se/7722/irq.c b/arch/sh/boards/mach-se/7722/irq.c index 61605db04ee6..c013f95628ed 100644 --- a/arch/sh/boards/mach-se/7722/irq.c +++ b/arch/sh/boards/mach-se/7722/irq.c | |||
@@ -18,23 +18,22 @@ | |||
18 | 18 | ||
19 | unsigned int se7722_fpga_irq[SE7722_FPGA_IRQ_NR] = { 0, }; | 19 | unsigned int se7722_fpga_irq[SE7722_FPGA_IRQ_NR] = { 0, }; |
20 | 20 | ||
21 | static void disable_se7722_irq(unsigned int irq) | 21 | static void disable_se7722_irq(struct irq_data *data) |
22 | { | 22 | { |
23 | unsigned int bit = (unsigned int)get_irq_chip_data(irq); | 23 | unsigned int bit = (unsigned int)irq_data_get_irq_chip_data(data); |
24 | __raw_writew(__raw_readw(IRQ01_MASK) | 1 << bit, IRQ01_MASK); | 24 | __raw_writew(__raw_readw(IRQ01_MASK) | 1 << bit, IRQ01_MASK); |
25 | } | 25 | } |
26 | 26 | ||
27 | static void enable_se7722_irq(unsigned int irq) | 27 | static void enable_se7722_irq(struct irq_data *data) |
28 | { | 28 | { |
29 | unsigned int bit = (unsigned int)get_irq_chip_data(irq); | 29 | unsigned int bit = (unsigned int)irq_data_get_irq_chip_data(data); |
30 | __raw_writew(__raw_readw(IRQ01_MASK) & ~(1 << bit), IRQ01_MASK); | 30 | __raw_writew(__raw_readw(IRQ01_MASK) & ~(1 << bit), IRQ01_MASK); |
31 | } | 31 | } |
32 | 32 | ||
33 | static struct irq_chip se7722_irq_chip __read_mostly = { | 33 | static struct irq_chip se7722_irq_chip __read_mostly = { |
34 | .name = "SE7722-FPGA", | 34 | .name = "SE7722-FPGA", |
35 | .mask = disable_se7722_irq, | 35 | .irq_mask = disable_se7722_irq, |
36 | .unmask = enable_se7722_irq, | 36 | .irq_unmask = enable_se7722_irq, |
37 | .mask_ack = disable_se7722_irq, | ||
38 | }; | 37 | }; |
39 | 38 | ||
40 | static void se7722_irq_demux(unsigned int irq, struct irq_desc *desc) | 39 | static void se7722_irq_demux(unsigned int irq, struct irq_desc *desc) |
diff --git a/arch/sh/boards/mach-se/7724/irq.c b/arch/sh/boards/mach-se/7724/irq.c index 0942be2daef6..5bd87c22b65b 100644 --- a/arch/sh/boards/mach-se/7724/irq.c +++ b/arch/sh/boards/mach-se/7724/irq.c | |||
@@ -68,25 +68,26 @@ static struct fpga_irq get_fpga_irq(unsigned int irq) | |||
68 | return set; | 68 | return set; |
69 | } | 69 | } |
70 | 70 | ||
71 | static void disable_se7724_irq(unsigned int irq) | 71 | static void disable_se7724_irq(struct irq_data *data) |
72 | { | 72 | { |
73 | unsigned int irq = data->irq; | ||
73 | struct fpga_irq set = get_fpga_irq(fpga2irq(irq)); | 74 | struct fpga_irq set = get_fpga_irq(fpga2irq(irq)); |
74 | unsigned int bit = irq - set.base; | 75 | unsigned int bit = irq - set.base; |
75 | __raw_writew(__raw_readw(set.mraddr) | 0x0001 << bit, set.mraddr); | 76 | __raw_writew(__raw_readw(set.mraddr) | 0x0001 << bit, set.mraddr); |
76 | } | 77 | } |
77 | 78 | ||
78 | static void enable_se7724_irq(unsigned int irq) | 79 | static void enable_se7724_irq(struct irq_data *data) |
79 | { | 80 | { |
81 | unsigned int irq = data->irq; | ||
80 | struct fpga_irq set = get_fpga_irq(fpga2irq(irq)); | 82 | struct fpga_irq set = get_fpga_irq(fpga2irq(irq)); |
81 | unsigned int bit = irq - set.base; | 83 | unsigned int bit = irq - set.base; |
82 | __raw_writew(__raw_readw(set.mraddr) & ~(0x0001 << bit), set.mraddr); | 84 | __raw_writew(__raw_readw(set.mraddr) & ~(0x0001 << bit), set.mraddr); |
83 | } | 85 | } |
84 | 86 | ||
85 | static struct irq_chip se7724_irq_chip __read_mostly = { | 87 | static struct irq_chip se7724_irq_chip __read_mostly = { |
86 | .name = "SE7724-FPGA", | 88 | .name = "SE7724-FPGA", |
87 | .mask = disable_se7724_irq, | 89 | .irq_mask = disable_se7724_irq, |
88 | .unmask = enable_se7724_irq, | 90 | .irq_unmask = enable_se7724_irq, |
89 | .mask_ack = disable_se7724_irq, | ||
90 | }; | 91 | }; |
91 | 92 | ||
92 | static void se7724_irq_demux(unsigned int irq, struct irq_desc *desc) | 93 | static void se7724_irq_demux(unsigned int irq, struct irq_desc *desc) |