s390/irq: rework irq subclass handling
Let's not add a function for every external interrupt subclass for which we need reference counting. Just have two register/unregister functions which have a subclass parameter: void irq_subclass_register(enum irq_subclass subclass); void irq_subclass_unregister(enum irq_subclass subclass); Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Esse commit está contido em:
@@ -910,12 +910,12 @@ sclp_check_interface(void)
|
||||
spin_unlock_irqrestore(&sclp_lock, flags);
|
||||
/* Enable service-signal interruption - needs to happen
|
||||
* with IRQs enabled. */
|
||||
service_subclass_irq_register();
|
||||
irq_subclass_register(IRQ_SUBCLASS_SERVICE_SIGNAL);
|
||||
/* Wait for signal from interrupt or timeout */
|
||||
sclp_sync_wait();
|
||||
/* Disable service-signal interruption - needs to happen
|
||||
* with IRQs enabled. */
|
||||
service_subclass_irq_unregister();
|
||||
irq_subclass_unregister(IRQ_SUBCLASS_SERVICE_SIGNAL);
|
||||
spin_lock_irqsave(&sclp_lock, flags);
|
||||
del_timer(&sclp_request_timer);
|
||||
if (sclp_init_req.status == SCLP_REQ_DONE &&
|
||||
@@ -1131,7 +1131,7 @@ sclp_init(void)
|
||||
spin_unlock_irqrestore(&sclp_lock, flags);
|
||||
/* Enable service-signal external interruption - needs to happen with
|
||||
* IRQs enabled. */
|
||||
service_subclass_irq_register();
|
||||
irq_subclass_register(IRQ_SUBCLASS_SERVICE_SIGNAL);
|
||||
sclp_init_mask(1);
|
||||
return 0;
|
||||
|
||||
|
Referência em uma nova issue
Block a user