s390/irq: Use defines for external interruption codes
authorThomas Huth <thuth@linux.vnet.ibm.com>
Mon, 31 Mar 2014 13:24:08 +0000 (15:24 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 3 Apr 2014 12:30:52 +0000 (14:30 +0200)
Use the new defines for external interruption codes to get rid
of "magic" numbers in the s390 source code. And while we're at it,
also rename the (un-)register_external_interrupt function to
something shorter so that this patch does not exceed the 80
columns all over the place.

Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
14 files changed:
arch/s390/include/asm/irq.h
arch/s390/kernel/irq.c
arch/s390/kernel/perf_cpum_cf.c
arch/s390/kernel/perf_cpum_sf.c
arch/s390/kernel/runtime_instr.c
arch/s390/kernel/sclp.S
arch/s390/kernel/smp.c
arch/s390/kernel/time.c
arch/s390/mm/fault.c
arch/s390/oprofile/hwsampler.c
drivers/s390/block/dasd_diag.c
drivers/s390/char/sclp.c
drivers/s390/kvm/kvm_virtio.c
net/iucv/iucv.c

index 58c1ea63945244baf487a8d2cc0a25a45a75c599..763ccdcb70ba5b2aaebe9e41a10c4869059ce5bb 100644 (file)
@@ -27,6 +27,7 @@
 #define EXT_IRQ_TIMING_ALERT   0x1406
 #define EXT_IRQ_MEASURE_ALERT  0x1407
 #define EXT_IRQ_SERVICE_SIG    0x2401
+#define EXT_IRQ_CP_SERVICE     0x2603
 #define EXT_IRQ_IUCV           0x4000
 
 #ifndef __ASSEMBLY__
@@ -89,8 +90,8 @@ struct ext_code {
 
 typedef void (*ext_int_handler_t)(struct ext_code, unsigned int, unsigned long);
 
-int register_external_interrupt(u16 code, ext_int_handler_t handler);
-int unregister_external_interrupt(u16 code, ext_int_handler_t handler);
+int register_external_irq(u16 code, ext_int_handler_t handler);
+int unregister_external_irq(u16 code, ext_int_handler_t handler);
 
 enum irq_subclass {
        IRQ_SUBCLASS_MEASUREMENT_ALERT = 5,
index bb27a262c44aa8076dfe7eb9cb5a243d8c315079..083617d739d81df198e30e099c3f04645f87bbc9 100644 (file)
@@ -205,7 +205,7 @@ static inline int ext_hash(u16 code)
        return (code + (code >> 9)) & (ARRAY_SIZE(ext_int_hash) - 1);
 }
 
-int register_external_interrupt(u16 code, ext_int_handler_t handler)
+int register_external_irq(u16 code, ext_int_handler_t handler)
 {
        struct ext_int_info *p;
        unsigned long flags;
@@ -223,9 +223,9 @@ int register_external_interrupt(u16 code, ext_int_handler_t handler)
        spin_unlock_irqrestore(&ext_int_hash_lock, flags);
        return 0;
 }
-EXPORT_SYMBOL(register_external_interrupt);
+EXPORT_SYMBOL(register_external_irq);
 
-int unregister_external_interrupt(u16 code, ext_int_handler_t handler)
+int unregister_external_irq(u16 code, ext_int_handler_t handler)
 {
        struct ext_int_info *p;
        unsigned long flags;
@@ -241,7 +241,7 @@ int unregister_external_interrupt(u16 code, ext_int_handler_t handler)
        spin_unlock_irqrestore(&ext_int_hash_lock, flags);
        return 0;
 }
-EXPORT_SYMBOL(unregister_external_interrupt);
+EXPORT_SYMBOL(unregister_external_irq);
 
 static irqreturn_t do_ext_interrupt(int irq, void *dummy)
 {
@@ -251,7 +251,7 @@ static irqreturn_t do_ext_interrupt(int irq, void *dummy)
        int index;
 
        ext_code = *(struct ext_code *) &regs->int_code;
-       if (ext_code.code != 0x1004)
+       if (ext_code.code != EXT_IRQ_CLK_COMP)
                __get_cpu_var(s390_idle).nohz_delay = 1;
 
        index = ext_hash(ext_code.code);
index f51214c0485884556151bfc63ecf0bdf88faafc7..ea75d011a6fc521aaf112b4d3764df6012c061e1 100644 (file)
@@ -673,7 +673,8 @@ static int __init cpumf_pmu_init(void)
        ctl_clear_bit(0, 48);
 
        /* register handler for measurement-alert interruptions */
-       rc = register_external_interrupt(0x1407, cpumf_measurement_alert);
+       rc = register_external_irq(EXT_IRQ_MEASURE_ALERT,
+                                  cpumf_measurement_alert);
        if (rc) {
                pr_err("Registering for CPU-measurement alerts "
                       "failed with rc=%i\n", rc);
@@ -684,7 +685,8 @@ static int __init cpumf_pmu_init(void)
        rc = perf_pmu_register(&cpumf_pmu, "cpum_cf", PERF_TYPE_RAW);
        if (rc) {
                pr_err("Registering the cpum_cf PMU failed with rc=%i\n", rc);
-               unregister_external_interrupt(0x1407, cpumf_measurement_alert);
+               unregister_external_irq(EXT_IRQ_MEASURE_ALERT,
+                                       cpumf_measurement_alert);
                goto out;
        }
        perf_cpu_notifier(cpumf_pmu_notifier);
index 6c0d29827cb620b7a07235b48b74e4633d77d89d..ea0c7b2ef030f2d855df012af852cab54e509287 100644 (file)
@@ -1621,7 +1621,8 @@ static int __init init_cpum_sampling_pmu(void)
                pr_err("Registering for s390dbf failed\n");
        debug_register_view(sfdbg, &debug_sprintf_view);
 
-       err = register_external_interrupt(0x1407, cpumf_measurement_alert);
+       err = register_external_irq(EXT_IRQ_MEASURE_ALERT,
+                                   cpumf_measurement_alert);
        if (err) {
                pr_cpumsf_err(RS_INIT_FAILURE_ALRT);
                goto out;
@@ -1630,7 +1631,8 @@ static int __init init_cpum_sampling_pmu(void)
        err = perf_pmu_register(&cpumf_sampling, "cpum_sf", PERF_TYPE_RAW);
        if (err) {
                pr_cpumsf_err(RS_INIT_FAILURE_PERF);
-               unregister_external_interrupt(0x1407, cpumf_measurement_alert);
+               unregister_external_irq(EXT_IRQ_MEASURE_ALERT,
+                                       cpumf_measurement_alert);
                goto out;
        }
        perf_cpu_notifier(cpumf_pmu_notifier);
index d817cce7e72de862081f57a2ef6b0936c64fcc60..26b4ae96fdd731b3e5cb82d6bb23a8799e9af80f 100644 (file)
@@ -138,7 +138,8 @@ static int __init runtime_instr_init(void)
                return 0;
 
        irq_subclass_register(IRQ_SUBCLASS_MEASUREMENT_ALERT);
-       rc = register_external_interrupt(0x1407, runtime_instr_int_handler);
+       rc = register_external_irq(EXT_IRQ_MEASURE_ALERT,
+                                  runtime_instr_int_handler);
        if (rc)
                irq_subclass_unregister(IRQ_SUBCLASS_MEASUREMENT_ALERT);
        else
index 29bd7bec41768c328c17285b4876c428727d41d0..a41f2c99dcc85dbac9a2193960a6de63ce769120 100644 (file)
@@ -9,6 +9,7 @@
  */
 
 #include <linux/linkage.h>
+#include <asm/irq.h>
 
 LC_EXT_NEW_PSW         = 0x58                  # addr of ext int handler
 LC_EXT_NEW_PSW_64      = 0x1b0                 # addr of ext int handler 64 bit
@@ -73,9 +74,9 @@ _sclp_wait_int:
        lpsw    .LwaitpswS1-.LbaseS1(%r13)      # wait until interrupt
 .LwaitS1:
        lh      %r7,LC_EXT_INT_CODE
-       chi     %r7,0x1004                      # timeout?
+       chi     %r7,EXT_IRQ_CLK_COMP            # timeout?
        je      .LtimeoutS1
-       chi     %r7,0x2401                      # service int?
+       chi     %r7,EXT_IRQ_SERVICE_SIG         # service int?
        jne     .LloopS1
        sr      %r2,%r2
        l       %r3,LC_EXT_INT_PARAM
index 8827883310ddbc05c765f17b2125e804dc2cd85e..366d14460c2b4533629aed75e9eb08ca7e45acd2 100644 (file)
@@ -785,10 +785,10 @@ void __init smp_fill_possible_mask(void)
 void __init smp_prepare_cpus(unsigned int max_cpus)
 {
        /* request the 0x1201 emergency signal external interrupt */
-       if (register_external_interrupt(0x1201, do_ext_call_interrupt) != 0)
+       if (register_external_irq(EXT_IRQ_EMERGENCY_SIG, do_ext_call_interrupt))
                panic("Couldn't request external interrupt 0x1201");
        /* request the 0x1202 external call external interrupt */
-       if (register_external_interrupt(0x1202, do_ext_call_interrupt) != 0)
+       if (register_external_irq(EXT_IRQ_EXTERNAL_CALL, do_ext_call_interrupt))
                panic("Couldn't request external interrupt 0x1202");
        smp_detect_cpus();
 }
index dd95f1631621722ca9d35a5d67269b152cb630d2..386d37a228bb71d7717f46c76d3fc4b7a05ab015 100644 (file)
@@ -262,11 +262,11 @@ void __init time_init(void)
        stp_reset();
 
        /* request the clock comparator external interrupt */
-       if (register_external_interrupt(0x1004, clock_comparator_interrupt))
-                panic("Couldn't request external interrupt 0x1004");
+       if (register_external_irq(EXT_IRQ_CLK_COMP, clock_comparator_interrupt))
+               panic("Couldn't request external interrupt 0x1004");
 
        /* request the timing alert external interrupt */
-       if (register_external_interrupt(0x1406, timing_alert_interrupt))
+       if (register_external_irq(EXT_IRQ_TIMING_ALERT, timing_alert_interrupt))
                panic("Couldn't request external interrupt 0x1406");
 
        if (clocksource_register(&clocksource_tod) != 0)
index d95265b2719f8e7fb0b15305b49a52130069aebd..750565f72e0638ef6f3ea0c09070e09a84ab2cfb 100644 (file)
@@ -627,7 +627,7 @@ static int __init pfault_irq_init(void)
 {
        int rc;
 
-       rc = register_external_interrupt(0x2603, pfault_interrupt);
+       rc = register_external_irq(EXT_IRQ_CP_SERVICE, pfault_interrupt);
        if (rc)
                goto out_extint;
        rc = pfault_init() == 0 ? 0 : -EOPNOTSUPP;
@@ -638,7 +638,7 @@ static int __init pfault_irq_init(void)
        return 0;
 
 out_pfault:
-       unregister_external_interrupt(0x2603, pfault_interrupt);
+       unregister_external_irq(EXT_IRQ_CP_SERVICE, pfault_interrupt);
 out_extint:
        pfault_disable = 1;
        return rc;
index a32c96761eab5be0ab6db221ba5f1a0d91634e5b..276f2e26c761708b866c0d6cb9bc4c69dcfd48f8 100644 (file)
@@ -1033,7 +1033,7 @@ int hwsampler_setup(void)
                                max_sampler_rate = cb->qsi.max_sampl_rate;
                }
        }
-       register_external_interrupt(0x1407, hws_ext_handler);
+       register_external_irq(EXT_IRQ_MEASURE_ALERT, hws_ext_handler);
 
        hws_state = HWS_DEALLOCATED;
        rc = 0;
@@ -1068,7 +1068,7 @@ int hwsampler_shutdown(void)
                        hws_wq = NULL;
                }
 
-               unregister_external_interrupt(0x1407, hws_ext_handler);
+               unregister_external_irq(EXT_IRQ_MEASURE_ALERT, hws_ext_handler);
                hws_state = HWS_INIT;
                rc = 0;
        }
index 9cbc567698cefd0d3933f7c77198d4ccf34ceeeb..c062f1620c58d419514af3ce7b81da8952e11546 100644 (file)
@@ -646,7 +646,7 @@ dasd_diag_init(void)
        ASCEBC(dasd_diag_discipline.ebcname, 4);
 
        irq_subclass_register(IRQ_SUBCLASS_SERVICE_SIGNAL);
-       register_external_interrupt(0x2603, dasd_ext_handler);
+       register_external_irq(EXT_IRQ_CP_SERVICE, dasd_ext_handler);
        dasd_diag_discipline_pointer = &dasd_diag_discipline;
        return 0;
 }
@@ -654,7 +654,7 @@ dasd_diag_init(void)
 static void __exit
 dasd_diag_cleanup(void)
 {
-       unregister_external_interrupt(0x2603, dasd_ext_handler);
+       unregister_external_irq(EXT_IRQ_CP_SERVICE, dasd_ext_handler);
        irq_subclass_unregister(IRQ_SUBCLASS_SERVICE_SIGNAL);
        dasd_diag_discipline_pointer = NULL;
 }
index e9ede59809943c7b655a2905829b0b5cb850ff37..1990285296c6c4d669d7e79074f84e94e8a6c346 100644 (file)
@@ -972,7 +972,7 @@ sclp_check_interface(void)
 
        spin_lock_irqsave(&sclp_lock, flags);
        /* Prepare init mask command */
-       rc = register_external_interrupt(0x2401, sclp_check_handler);
+       rc = register_external_irq(EXT_IRQ_SERVICE_SIG, sclp_check_handler);
        if (rc) {
                spin_unlock_irqrestore(&sclp_lock, flags);
                return rc;
@@ -1005,7 +1005,7 @@ sclp_check_interface(void)
                } else
                        rc = -EBUSY;
        }
-       unregister_external_interrupt(0x2401, sclp_check_handler);
+       unregister_external_irq(EXT_IRQ_SERVICE_SIG, sclp_check_handler);
        spin_unlock_irqrestore(&sclp_lock, flags);
        return rc;
 }
@@ -1206,7 +1206,7 @@ sclp_init(void)
        if (rc)
                goto fail_init_state_uninitialized;
        /* Register interrupt handler */
-       rc = register_external_interrupt(0x2401, sclp_interrupt_handler);
+       rc = register_external_irq(EXT_IRQ_SERVICE_SIG, sclp_interrupt_handler);
        if (rc)
                goto fail_unregister_reboot_notifier;
        sclp_init_state = sclp_init_state_initialized;
index 1abd0db29915bf69b8618b7c267dad552573a74d..a1349653c6d97dfcac5341b2ba38bebde27e8f2b 100644 (file)
@@ -477,7 +477,7 @@ static int __init kvm_devices_init(void)
        INIT_WORK(&hotplug_work, hotplug_devices);
 
        irq_subclass_register(IRQ_SUBCLASS_SERVICE_SIGNAL);
-       register_external_interrupt(0x2603, kvm_extint_handler);
+       register_external_irq(EXT_IRQ_CP_SERVICE, kvm_extint_handler);
 
        scan_devices();
        return 0;
index cd5b8ec9be0459db10432aad57836f96b3388d63..12afba10a61f61549e39b1c775dc7401c4b846d4 100644 (file)
@@ -2016,7 +2016,7 @@ static int __init iucv_init(void)
        rc = iucv_query_maxconn();
        if (rc)
                goto out_ctl;
-       rc = register_external_interrupt(0x4000, iucv_external_interrupt);
+       rc = register_external_irq(EXT_IRQ_IUCV, iucv_external_interrupt);
        if (rc)
                goto out_ctl;
        iucv_root = root_device_register("iucv");
@@ -2081,7 +2081,7 @@ out_free:
        }
        root_device_unregister(iucv_root);
 out_int:
-       unregister_external_interrupt(0x4000, iucv_external_interrupt);
+       unregister_external_irq(EXT_IRQ_IUCV, iucv_external_interrupt);
 out_ctl:
        ctl_clear_bit(0, 1);
 out:
@@ -2116,7 +2116,7 @@ static void __exit iucv_exit(void)
        }
        root_device_unregister(iucv_root);
        bus_unregister(&iucv_bus);
-       unregister_external_interrupt(0x4000, iucv_external_interrupt);
+       unregister_external_irq(EXT_IRQ_IUCV, iucv_external_interrupt);
 }
 
 subsys_initcall(iucv_init);