diff options
Diffstat (limited to 'kernel/irq/autoprobe.c')
| -rw-r--r-- | kernel/irq/autoprobe.c | 15 | 
1 files changed, 8 insertions, 7 deletions
| diff --git a/kernel/irq/autoprobe.c b/kernel/irq/autoprobe.c index 2295a31ef110..505798f86c36 100644 --- a/kernel/irq/autoprobe.c +++ b/kernel/irq/autoprobe.c | |||
| @@ -57,9 +57,10 @@ unsigned long probe_irq_on(void) | |||
| 57 | * Some chips need to know about probing in | 57 | * Some chips need to know about probing in | 
| 58 | * progress: | 58 | * progress: | 
| 59 | */ | 59 | */ | 
| 60 | if (desc->chip->set_type) | 60 | if (desc->irq_data.chip->irq_set_type) | 
| 61 | desc->chip->set_type(i, IRQ_TYPE_PROBE); | 61 | desc->irq_data.chip->irq_set_type(&desc->irq_data, | 
| 62 | desc->chip->startup(i); | 62 | IRQ_TYPE_PROBE); | 
| 63 | desc->irq_data.chip->irq_startup(&desc->irq_data); | ||
| 63 | } | 64 | } | 
| 64 | raw_spin_unlock_irq(&desc->lock); | 65 | raw_spin_unlock_irq(&desc->lock); | 
| 65 | } | 66 | } | 
| @@ -76,7 +77,7 @@ unsigned long probe_irq_on(void) | |||
| 76 | raw_spin_lock_irq(&desc->lock); | 77 | raw_spin_lock_irq(&desc->lock); | 
| 77 | if (!desc->action && !(desc->status & IRQ_NOPROBE)) { | 78 | if (!desc->action && !(desc->status & IRQ_NOPROBE)) { | 
| 78 | desc->status |= IRQ_AUTODETECT | IRQ_WAITING; | 79 | desc->status |= IRQ_AUTODETECT | IRQ_WAITING; | 
| 79 | if (desc->chip->startup(i)) | 80 | if (desc->irq_data.chip->irq_startup(&desc->irq_data)) | 
| 80 | desc->status |= IRQ_PENDING; | 81 | desc->status |= IRQ_PENDING; | 
| 81 | } | 82 | } | 
| 82 | raw_spin_unlock_irq(&desc->lock); | 83 | raw_spin_unlock_irq(&desc->lock); | 
| @@ -98,7 +99,7 @@ unsigned long probe_irq_on(void) | |||
| 98 | /* It triggered already - consider it spurious. */ | 99 | /* It triggered already - consider it spurious. */ | 
| 99 | if (!(status & IRQ_WAITING)) { | 100 | if (!(status & IRQ_WAITING)) { | 
| 100 | desc->status = status & ~IRQ_AUTODETECT; | 101 | desc->status = status & ~IRQ_AUTODETECT; | 
| 101 | desc->chip->shutdown(i); | 102 | desc->irq_data.chip->irq_shutdown(&desc->irq_data); | 
| 102 | } else | 103 | } else | 
| 103 | if (i < 32) | 104 | if (i < 32) | 
| 104 | mask |= 1 << i; | 105 | mask |= 1 << i; | 
| @@ -137,7 +138,7 @@ unsigned int probe_irq_mask(unsigned long val) | |||
| 137 | mask |= 1 << i; | 138 | mask |= 1 << i; | 
| 138 | 139 | ||
| 139 | desc->status = status & ~IRQ_AUTODETECT; | 140 | desc->status = status & ~IRQ_AUTODETECT; | 
| 140 | desc->chip->shutdown(i); | 141 | desc->irq_data.chip->irq_shutdown(&desc->irq_data); | 
| 141 | } | 142 | } | 
| 142 | raw_spin_unlock_irq(&desc->lock); | 143 | raw_spin_unlock_irq(&desc->lock); | 
| 143 | } | 144 | } | 
| @@ -181,7 +182,7 @@ int probe_irq_off(unsigned long val) | |||
| 181 | nr_of_irqs++; | 182 | nr_of_irqs++; | 
| 182 | } | 183 | } | 
| 183 | desc->status = status & ~IRQ_AUTODETECT; | 184 | desc->status = status & ~IRQ_AUTODETECT; | 
| 184 | desc->chip->shutdown(i); | 185 | desc->irq_data.chip->irq_shutdown(&desc->irq_data); | 
| 185 | } | 186 | } | 
| 186 | raw_spin_unlock_irq(&desc->lock); | 187 | raw_spin_unlock_irq(&desc->lock); | 
| 187 | } | 188 | } | 
