[S390] cio: Use isc_{register,unregister}.
authorCornelia Huck <cornelia.huck@de.ibm.com>
Mon, 14 Jul 2008 07:59:01 +0000 (09:59 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 14 Jul 2008 08:02:11 +0000 (10:02 +0200)
Use the new isc registration functions for all places that need
an I/O interruption subclass.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
drivers/s390/cio/cio.c
drivers/s390/cio/css.c
drivers/s390/cio/qdio.c

index bf616daeff4c0d7ed29ecc4dc1ed2d246c06ac9e..34b38fb7c2f79546fd77dd7fe1bee18fa0bf245e 100644 (file)
@@ -786,12 +786,13 @@ cio_probe_console(void)
        /*
         * enable console I/O-interrupt subclass
         */
-       ctl_set_bit(6, 31 - CONSOLE_ISC);
+       isc_register(CONSOLE_ISC);
        console_subchannel.schib.pmcw.isc = CONSOLE_ISC;
        console_subchannel.schib.pmcw.intparm =
                (u32)(addr_t)&console_subchannel;
        ret = cio_modify(&console_subchannel);
        if (ret) {
+               isc_unregister(CONSOLE_ISC);
                console_subchannel_in_use = 0;
                return ERR_PTR(ret);
        }
@@ -803,7 +804,7 @@ cio_release_console(void)
 {
        console_subchannel.schib.pmcw.intparm = 0;
        cio_modify(&console_subchannel);
-       ctl_clear_bit(6, 31 - CONSOLE_ISC);
+       isc_unregister(CONSOLE_ISC);
        console_subchannel_in_use = 0;
 }
 
index b24618b5362eb7294f3ed24824880317b1f67ca1..45ba07c0a28629c2bd7c27dd659591db0b659693 100644 (file)
@@ -806,7 +806,7 @@ init_channel_subsystem (void)
        css_init_done = 1;
 
        /* Enable default isc for I/O subchannels. */
-       ctl_set_bit(6, 31 - IO_SCH_ISC);
+       isc_register(IO_SCH_ISC);
 
        for_each_subchannel(__init_channel_subsystem, NULL);
        return 0;
index 8476f8c35c2d61124855763368909210882273f1..2bf36e14b10214d4457a98c5fff8de69db1a306c 100644 (file)
@@ -3892,6 +3892,7 @@ init_QDIO(void)
                                            qdio_mempool_alloc,
                                            qdio_mempool_free, NULL);
 
+       isc_register(QDIO_AIRQ_ISC);
        if (tiqdio_check_chsc_availability())
                QDIO_PRINT_ERR("Not all CHSCs supported. Continuing.\n");
 
@@ -3904,6 +3905,7 @@ static void __exit
 cleanup_QDIO(void)
 {
        tiqdio_unregister_thinints();
+       isc_unregister(QDIO_AIRQ_ISC);
        qdio_remove_procfs_entry();
        qdio_release_qdio_memory();
        qdio_unregister_dbf_views();