diff options
| author | Tony Lindgren <tony@atomide.com> | 2011-03-10 21:54:14 -0500 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2011-03-10 21:54:14 -0500 |
| commit | 94a06b74e724caabcf0464c81527cfbcae0c8aff (patch) | |
| tree | 3570b6a627382a5eb5c8328b4959f615544d8e62 /arch/alpha/kernel/sys_eiger.c | |
| parent | 0dde52a9f5330eec240660191a94b51bd911ffcd (diff) | |
| parent | 9062511097683b4422f023d181b4a8b2db1a7a72 (diff) | |
Merge branch 'for_2.6.39/pm-misc' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
Diffstat (limited to 'arch/alpha/kernel/sys_eiger.c')
| -rw-r--r-- | arch/alpha/kernel/sys_eiger.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/alpha/kernel/sys_eiger.c b/arch/alpha/kernel/sys_eiger.c index 1121bc5c6c6c..0b44a54c1522 100644 --- a/arch/alpha/kernel/sys_eiger.c +++ b/arch/alpha/kernel/sys_eiger.c | |||
| @@ -51,16 +51,18 @@ eiger_update_irq_hw(unsigned long irq, unsigned long mask) | |||
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | static inline void | 53 | static inline void |
| 54 | eiger_enable_irq(unsigned int irq) | 54 | eiger_enable_irq(struct irq_data *d) |
| 55 | { | 55 | { |
| 56 | unsigned int irq = d->irq; | ||
| 56 | unsigned long mask; | 57 | unsigned long mask; |
| 57 | mask = (cached_irq_mask[irq >= 64] &= ~(1UL << (irq & 63))); | 58 | mask = (cached_irq_mask[irq >= 64] &= ~(1UL << (irq & 63))); |
| 58 | eiger_update_irq_hw(irq, mask); | 59 | eiger_update_irq_hw(irq, mask); |
| 59 | } | 60 | } |
| 60 | 61 | ||
| 61 | static void | 62 | static void |
| 62 | eiger_disable_irq(unsigned int irq) | 63 | eiger_disable_irq(struct irq_data *d) |
| 63 | { | 64 | { |
| 65 | unsigned int irq = d->irq; | ||
| 64 | unsigned long mask; | 66 | unsigned long mask; |
| 65 | mask = (cached_irq_mask[irq >= 64] |= 1UL << (irq & 63)); | 67 | mask = (cached_irq_mask[irq >= 64] |= 1UL << (irq & 63)); |
| 66 | eiger_update_irq_hw(irq, mask); | 68 | eiger_update_irq_hw(irq, mask); |
| @@ -68,9 +70,9 @@ eiger_disable_irq(unsigned int irq) | |||
| 68 | 70 | ||
| 69 | static struct irq_chip eiger_irq_type = { | 71 | static struct irq_chip eiger_irq_type = { |
| 70 | .name = "EIGER", | 72 | .name = "EIGER", |
| 71 | .unmask = eiger_enable_irq, | 73 | .irq_unmask = eiger_enable_irq, |
| 72 | .mask = eiger_disable_irq, | 74 | .irq_mask = eiger_disable_irq, |
| 73 | .mask_ack = eiger_disable_irq, | 75 | .irq_mask_ack = eiger_disable_irq, |
| 74 | }; | 76 | }; |
| 75 | 77 | ||
| 76 | static void | 78 | static void |
| @@ -136,8 +138,8 @@ eiger_init_irq(void) | |||
| 136 | init_i8259a_irqs(); | 138 | init_i8259a_irqs(); |
| 137 | 139 | ||
| 138 | for (i = 16; i < 128; ++i) { | 140 | for (i = 16; i < 128; ++i) { |
| 139 | irq_to_desc(i)->status |= IRQ_LEVEL; | ||
| 140 | set_irq_chip_and_handler(i, &eiger_irq_type, handle_level_irq); | 141 | set_irq_chip_and_handler(i, &eiger_irq_type, handle_level_irq); |
| 142 | irq_set_status_flags(i, IRQ_LEVEL); | ||
| 141 | } | 143 | } |
| 142 | } | 144 | } |
| 143 | 145 | ||
