These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / s390 / char / diag_ftp.c
index 9388963..a5ccbf6 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/wait.h>
 #include <linux/string.h>
 #include <asm/ctl_reg.h>
+#include <asm/diag.h>
 
 #include "hmcdrv_ftp.h"
 #include "diag_ftp.h"
@@ -102,6 +103,7 @@ static int diag_ftp_2c4(struct diag_ftp_ldfpl *fpl,
 {
        int rc;
 
+       diag_stat_inc(DIAG_STAT_X2C4);
        asm volatile(
                "       diag    %[addr],%[cmd],0x2c4\n"
                "0:     j       2f\n"
@@ -223,7 +225,7 @@ int diag_ftp_startup(void)
        if (rc)
                return rc;
 
-       ctl_set_bit(0, 63 - 22);
+       irq_subclass_register(IRQ_SUBCLASS_SERVICE_SIGNAL);
        return 0;
 }
 
@@ -232,6 +234,6 @@ int diag_ftp_startup(void)
  */
 void diag_ftp_shutdown(void)
 {
-       ctl_clear_bit(0, 63 - 22);
+       irq_subclass_unregister(IRQ_SUBCLASS_SERVICE_SIGNAL);
        unregister_external_irq(EXT_IRQ_CP_SERVICE, diag_ftp_handler);
 }