diff options
| author | Paul Mundt <lethal@linux-sh.org> | 2010-10-27 01:36:28 -0400 |
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2010-10-27 01:36:28 -0400 |
| commit | 0d338071f2fff7551f9afe22016d9b34b45900b5 (patch) | |
| tree | 74fa0b63383e6695e7b20edec9eb4f61d5eb61b7 | |
| parent | c053784454550cf750399caa65482b31ffbe3c57 (diff) | |
sh: mach-dreamcast: irq_data conversion.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| -rw-r--r-- | arch/sh/boards/mach-dreamcast/irq.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/arch/sh/boards/mach-dreamcast/irq.c b/arch/sh/boards/mach-dreamcast/irq.c index d932667410ab..72e7ac9549da 100644 --- a/arch/sh/boards/mach-dreamcast/irq.c +++ b/arch/sh/boards/mach-dreamcast/irq.c | |||
| @@ -60,8 +60,9 @@ | |||
| 60 | */ | 60 | */ |
| 61 | 61 | ||
| 62 | /* Disable the hardware event by masking its bit in its EMR */ | 62 | /* Disable the hardware event by masking its bit in its EMR */ |
| 63 | static inline void disable_systemasic_irq(unsigned int irq) | 63 | static inline void disable_systemasic_irq(struct irq_data *data) |
| 64 | { | 64 | { |
| 65 | unsigned int irq = data->irq; | ||
| 65 | __u32 emr = EMR_BASE + (LEVEL(irq) << 4) + (LEVEL(irq) << 2); | 66 | __u32 emr = EMR_BASE + (LEVEL(irq) << 4) + (LEVEL(irq) << 2); |
| 66 | __u32 mask; | 67 | __u32 mask; |
| 67 | 68 | ||
| @@ -71,8 +72,9 @@ static inline void disable_systemasic_irq(unsigned int irq) | |||
| 71 | } | 72 | } |
| 72 | 73 | ||
| 73 | /* Enable the hardware event by setting its bit in its EMR */ | 74 | /* Enable the hardware event by setting its bit in its EMR */ |
| 74 | static inline void enable_systemasic_irq(unsigned int irq) | 75 | static inline void enable_systemasic_irq(struct irq_data *data) |
| 75 | { | 76 | { |
| 77 | unsigned int irq = data->irq; | ||
| 76 | __u32 emr = EMR_BASE + (LEVEL(irq) << 4) + (LEVEL(irq) << 2); | 78 | __u32 emr = EMR_BASE + (LEVEL(irq) << 4) + (LEVEL(irq) << 2); |
| 77 | __u32 mask; | 79 | __u32 mask; |
| 78 | 80 | ||
| @@ -82,18 +84,19 @@ static inline void enable_systemasic_irq(unsigned int irq) | |||
| 82 | } | 84 | } |
| 83 | 85 | ||
| 84 | /* Acknowledge a hardware event by writing its bit back to its ESR */ | 86 | /* Acknowledge a hardware event by writing its bit back to its ESR */ |
| 85 | static void mask_ack_systemasic_irq(unsigned int irq) | 87 | static void mask_ack_systemasic_irq(struct irq_data *data) |
| 86 | { | 88 | { |
| 89 | unsigned int irq = data->irq; | ||
| 87 | __u32 esr = ESR_BASE + (LEVEL(irq) << 2); | 90 | __u32 esr = ESR_BASE + (LEVEL(irq) << 2); |
| 88 | disable_systemasic_irq(irq); | 91 | disable_systemasic_irq(data); |
| 89 | outl((1 << EVENT_BIT(irq)), esr); | 92 | outl((1 << EVENT_BIT(irq)), esr); |
| 90 | } | 93 | } |
| 91 | 94 | ||
| 92 | struct irq_chip systemasic_int = { | 95 | struct irq_chip systemasic_int = { |
| 93 | .name = "System ASIC", | 96 | .name = "System ASIC", |
| 94 | .mask = disable_systemasic_irq, | 97 | .irq_mask = disable_systemasic_irq, |
| 95 | .mask_ack = mask_ack_systemasic_irq, | 98 | .irq_mask_ack = mask_ack_systemasic_irq, |
| 96 | .unmask = enable_systemasic_irq, | 99 | .irq_unmask = enable_systemasic_irq, |
| 97 | }; | 100 | }; |
| 98 | 101 | ||
| 99 | /* | 102 | /* |
