@@ -43,18 +43,16 @@ unsigned long probe_irq_on(void)
4343 * flush such a longstanding irq before considering it as spurious.
4444 */
4545 for_each_irq_desc_reverse (i , desc ) {
46- raw_spin_lock_irq (& desc -> lock );
46+ guard ( raw_spinlock_irq ) (& desc -> lock );
4747 if (!desc -> action && irq_settings_can_probe (desc )) {
4848 /*
4949 * Some chips need to know about probing in
5050 * progress:
5151 */
5252 if (desc -> irq_data .chip -> irq_set_type )
53- desc -> irq_data .chip -> irq_set_type (& desc -> irq_data ,
54- IRQ_TYPE_PROBE );
53+ desc -> irq_data .chip -> irq_set_type (& desc -> irq_data , IRQ_TYPE_PROBE );
5554 irq_activate_and_startup (desc , IRQ_NORESEND );
5655 }
57- raw_spin_unlock_irq (& desc -> lock );
5856 }
5957
6058 /* Wait for longstanding interrupts to trigger. */
@@ -66,13 +64,12 @@ unsigned long probe_irq_on(void)
6664 * happened in the previous stage, it may have masked itself)
6765 */
6866 for_each_irq_desc_reverse (i , desc ) {
69- raw_spin_lock_irq (& desc -> lock );
67+ guard ( raw_spinlock_irq ) (& desc -> lock );
7068 if (!desc -> action && irq_settings_can_probe (desc )) {
7169 desc -> istate |= IRQS_AUTODETECT | IRQS_WAITING ;
7270 if (irq_activate_and_startup (desc , IRQ_NORESEND ))
7371 desc -> istate |= IRQS_PENDING ;
7472 }
75- raw_spin_unlock_irq (& desc -> lock );
7673 }
7774
7875 /*
@@ -84,18 +81,16 @@ unsigned long probe_irq_on(void)
8481 * Now filter out any obviously spurious interrupts
8582 */
8683 for_each_irq_desc (i , desc ) {
87- raw_spin_lock_irq (& desc -> lock );
88-
84+ guard (raw_spinlock_irq )(& desc -> lock );
8985 if (desc -> istate & IRQS_AUTODETECT ) {
9086 /* It triggered already - consider it spurious. */
9187 if (!(desc -> istate & IRQS_WAITING )) {
9288 desc -> istate &= ~IRQS_AUTODETECT ;
9389 irq_shutdown_and_deactivate (desc );
94- } else
95- if ( i < 32 )
96- mask |= 1 << i ;
90+ } else if ( i < 32 ) {
91+ mask |= 1 << i ;
92+ }
9793 }
98- raw_spin_unlock_irq (& desc -> lock );
9994 }
10095
10196 return mask ;
@@ -121,15 +116,14 @@ unsigned int probe_irq_mask(unsigned long val)
121116 int i ;
122117
123118 for_each_irq_desc (i , desc ) {
124- raw_spin_lock_irq (& desc -> lock );
119+ guard ( raw_spinlock_irq ) (& desc -> lock );
125120 if (desc -> istate & IRQS_AUTODETECT ) {
126121 if (i < 16 && !(desc -> istate & IRQS_WAITING ))
127122 mask |= 1 << i ;
128123
129124 desc -> istate &= ~IRQS_AUTODETECT ;
130125 irq_shutdown_and_deactivate (desc );
131126 }
132- raw_spin_unlock_irq (& desc -> lock );
133127 }
134128 mutex_unlock (& probing_active );
135129
@@ -160,8 +154,7 @@ int probe_irq_off(unsigned long val)
160154 struct irq_desc * desc ;
161155
162156 for_each_irq_desc (i , desc ) {
163- raw_spin_lock_irq (& desc -> lock );
164-
157+ guard (raw_spinlock_irq )(& desc -> lock );
165158 if (desc -> istate & IRQS_AUTODETECT ) {
166159 if (!(desc -> istate & IRQS_WAITING )) {
167160 if (!nr_of_irqs )
@@ -171,7 +164,6 @@ int probe_irq_off(unsigned long val)
171164 desc -> istate &= ~IRQS_AUTODETECT ;
172165 irq_shutdown_and_deactivate (desc );
173166 }
174- raw_spin_unlock_irq (& desc -> lock );
175167 }
176168 mutex_unlock (& probing_active );
177169
0 commit comments