diff options
author | Lennert Buytenhek <buytenh@wantstofly.org> | 2011-03-07 09:00:00 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-03-09 19:04:02 -0500 |
commit | febd40178782e47b33f261f4e135418e24d8420a (patch) | |
tree | d45310a55608dc3bee5eb4ef61be066ba7efb65c /arch/powerpc/sysdev | |
parent | 687228ad404400c040e52d36ecfda42a1d392ead (diff) |
powerpc: sysdev/mpc8xx_pic irq_data conversion.
Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/sysdev')
-rw-r--r-- | arch/powerpc/sysdev/mpc8xx_pic.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/arch/powerpc/sysdev/mpc8xx_pic.c b/arch/powerpc/sysdev/mpc8xx_pic.c index 8c27d261aba8..1a75a7fb4a99 100644 --- a/arch/powerpc/sysdev/mpc8xx_pic.c +++ b/arch/powerpc/sysdev/mpc8xx_pic.c | |||
@@ -25,10 +25,10 @@ static sysconf8xx_t __iomem *siu_reg; | |||
25 | 25 | ||
26 | int cpm_get_irq(struct pt_regs *regs); | 26 | int cpm_get_irq(struct pt_regs *regs); |
27 | 27 | ||
28 | static void mpc8xx_unmask_irq(unsigned int virq) | 28 | static void mpc8xx_unmask_irq(struct irq_data *d) |
29 | { | 29 | { |
30 | int bit, word; | 30 | int bit, word; |
31 | unsigned int irq_nr = (unsigned int)irq_map[virq].hwirq; | 31 | unsigned int irq_nr = (unsigned int)irq_map[d->irq].hwirq; |
32 | 32 | ||
33 | bit = irq_nr & 0x1f; | 33 | bit = irq_nr & 0x1f; |
34 | word = irq_nr >> 5; | 34 | word = irq_nr >> 5; |
@@ -37,10 +37,10 @@ static void mpc8xx_unmask_irq(unsigned int virq) | |||
37 | out_be32(&siu_reg->sc_simask, ppc_cached_irq_mask[word]); | 37 | out_be32(&siu_reg->sc_simask, ppc_cached_irq_mask[word]); |
38 | } | 38 | } |
39 | 39 | ||
40 | static void mpc8xx_mask_irq(unsigned int virq) | 40 | static void mpc8xx_mask_irq(struct irq_data *d) |
41 | { | 41 | { |
42 | int bit, word; | 42 | int bit, word; |
43 | unsigned int irq_nr = (unsigned int)irq_map[virq].hwirq; | 43 | unsigned int irq_nr = (unsigned int)irq_map[d->irq].hwirq; |
44 | 44 | ||
45 | bit = irq_nr & 0x1f; | 45 | bit = irq_nr & 0x1f; |
46 | word = irq_nr >> 5; | 46 | word = irq_nr >> 5; |
@@ -49,19 +49,19 @@ static void mpc8xx_mask_irq(unsigned int virq) | |||
49 | out_be32(&siu_reg->sc_simask, ppc_cached_irq_mask[word]); | 49 | out_be32(&siu_reg->sc_simask, ppc_cached_irq_mask[word]); |
50 | } | 50 | } |
51 | 51 | ||
52 | static void mpc8xx_ack(unsigned int virq) | 52 | static void mpc8xx_ack(struct irq_data *d) |
53 | { | 53 | { |
54 | int bit; | 54 | int bit; |
55 | unsigned int irq_nr = (unsigned int)irq_map[virq].hwirq; | 55 | unsigned int irq_nr = (unsigned int)irq_map[d->irq].hwirq; |
56 | 56 | ||
57 | bit = irq_nr & 0x1f; | 57 | bit = irq_nr & 0x1f; |
58 | out_be32(&siu_reg->sc_sipend, 1 << (31-bit)); | 58 | out_be32(&siu_reg->sc_sipend, 1 << (31-bit)); |
59 | } | 59 | } |
60 | 60 | ||
61 | static void mpc8xx_end_irq(unsigned int virq) | 61 | static void mpc8xx_end_irq(struct irq_data *d) |
62 | { | 62 | { |
63 | int bit, word; | 63 | int bit, word; |
64 | unsigned int irq_nr = (unsigned int)irq_map[virq].hwirq; | 64 | unsigned int irq_nr = (unsigned int)irq_map[d->irq].hwirq; |
65 | 65 | ||
66 | bit = irq_nr & 0x1f; | 66 | bit = irq_nr & 0x1f; |
67 | word = irq_nr >> 5; | 67 | word = irq_nr >> 5; |
@@ -70,9 +70,9 @@ static void mpc8xx_end_irq(unsigned int virq) | |||
70 | out_be32(&siu_reg->sc_simask, ppc_cached_irq_mask[word]); | 70 | out_be32(&siu_reg->sc_simask, ppc_cached_irq_mask[word]); |
71 | } | 71 | } |
72 | 72 | ||
73 | static int mpc8xx_set_irq_type(unsigned int virq, unsigned int flow_type) | 73 | static int mpc8xx_set_irq_type(struct irq_data *d, unsigned int flow_type) |
74 | { | 74 | { |
75 | struct irq_desc *desc = irq_to_desc(virq); | 75 | struct irq_desc *desc = irq_to_desc(d->irq); |
76 | 76 | ||
77 | desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL); | 77 | desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL); |
78 | desc->status |= flow_type & IRQ_TYPE_SENSE_MASK; | 78 | desc->status |= flow_type & IRQ_TYPE_SENSE_MASK; |
@@ -80,7 +80,7 @@ static int mpc8xx_set_irq_type(unsigned int virq, unsigned int flow_type) | |||
80 | desc->status |= IRQ_LEVEL; | 80 | desc->status |= IRQ_LEVEL; |
81 | 81 | ||
82 | if (flow_type & IRQ_TYPE_EDGE_FALLING) { | 82 | if (flow_type & IRQ_TYPE_EDGE_FALLING) { |
83 | irq_hw_number_t hw = (unsigned int)irq_map[virq].hwirq; | 83 | irq_hw_number_t hw = (unsigned int)irq_map[d->irq].hwirq; |
84 | unsigned int siel = in_be32(&siu_reg->sc_siel); | 84 | unsigned int siel = in_be32(&siu_reg->sc_siel); |
85 | 85 | ||
86 | /* only external IRQ senses are programmable */ | 86 | /* only external IRQ senses are programmable */ |
@@ -95,11 +95,11 @@ static int mpc8xx_set_irq_type(unsigned int virq, unsigned int flow_type) | |||
95 | 95 | ||
96 | static struct irq_chip mpc8xx_pic = { | 96 | static struct irq_chip mpc8xx_pic = { |
97 | .name = "MPC8XX SIU", | 97 | .name = "MPC8XX SIU", |
98 | .unmask = mpc8xx_unmask_irq, | 98 | .irq_unmask = mpc8xx_unmask_irq, |
99 | .mask = mpc8xx_mask_irq, | 99 | .irq_mask = mpc8xx_mask_irq, |
100 | .ack = mpc8xx_ack, | 100 | .irq_ack = mpc8xx_ack, |
101 | .eoi = mpc8xx_end_irq, | 101 | .irq_eoi = mpc8xx_end_irq, |
102 | .set_type = mpc8xx_set_irq_type, | 102 | .irq_set_type = mpc8xx_set_irq_type, |
103 | }; | 103 | }; |
104 | 104 | ||
105 | unsigned int mpc8xx_get_irq(void) | 105 | unsigned int mpc8xx_get_irq(void) |