aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2008-07-14 03:59:01 -0400
committerHeiko Carstens <heiko.carstens@de.ibm.com>2008-07-14 04:02:11 -0400
commit6ef556ccc8fd256259745c4f0d0ab65aaf703824 (patch)
treef4029c1723d9bcf7e3627b7515f314d836ccbac9 /drivers/s390/cio
parentfcc6ab335ba4d0f2b2548a910466c0dac767e5b1 (diff)
[S390] cio: Use isc_{register,unregister}.
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>
Diffstat (limited to 'drivers/s390/cio')
-rw-r--r--drivers/s390/cio/cio.c5
-rw-r--r--drivers/s390/cio/css.c2
-rw-r--r--drivers/s390/cio/qdio.c2
3 files changed, 6 insertions, 3 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c
index bf616daeff4c..34b38fb7c2f7 100644
--- a/drivers/s390/cio/cio.c
+++ b/drivers/s390/cio/cio.c
@@ -786,12 +786,13 @@ cio_probe_console(void)
786 /* 786 /*
787 * enable console I/O-interrupt subclass 787 * enable console I/O-interrupt subclass
788 */ 788 */
789 ctl_set_bit(6, 31 - CONSOLE_ISC); 789 isc_register(CONSOLE_ISC);
790 console_subchannel.schib.pmcw.isc = CONSOLE_ISC; 790 console_subchannel.schib.pmcw.isc = CONSOLE_ISC;
791 console_subchannel.schib.pmcw.intparm = 791 console_subchannel.schib.pmcw.intparm =
792 (u32)(addr_t)&console_subchannel; 792 (u32)(addr_t)&console_subchannel;
793 ret = cio_modify(&console_subchannel); 793 ret = cio_modify(&console_subchannel);
794 if (ret) { 794 if (ret) {
795 isc_unregister(CONSOLE_ISC);
795 console_subchannel_in_use = 0; 796 console_subchannel_in_use = 0;
796 return ERR_PTR(ret); 797 return ERR_PTR(ret);
797 } 798 }
@@ -803,7 +804,7 @@ cio_release_console(void)
803{ 804{
804 console_subchannel.schib.pmcw.intparm = 0; 805 console_subchannel.schib.pmcw.intparm = 0;
805 cio_modify(&console_subchannel); 806 cio_modify(&console_subchannel);
806 ctl_clear_bit(6, 31 - CONSOLE_ISC); 807 isc_unregister(CONSOLE_ISC);
807 console_subchannel_in_use = 0; 808 console_subchannel_in_use = 0;
808} 809}
809 810
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c
index b24618b5362e..45ba07c0a286 100644
--- a/drivers/s390/cio/css.c
+++ b/drivers/s390/cio/css.c
@@ -806,7 +806,7 @@ init_channel_subsystem (void)
806 css_init_done = 1; 806 css_init_done = 1;
807 807
808 /* Enable default isc for I/O subchannels. */ 808 /* Enable default isc for I/O subchannels. */
809 ctl_set_bit(6, 31 - IO_SCH_ISC); 809 isc_register(IO_SCH_ISC);
810 810
811 for_each_subchannel(__init_channel_subsystem, NULL); 811 for_each_subchannel(__init_channel_subsystem, NULL);
812 return 0; 812 return 0;
diff --git a/drivers/s390/cio/qdio.c b/drivers/s390/cio/qdio.c
index 8476f8c35c2d..2bf36e14b102 100644
--- a/drivers/s390/cio/qdio.c
+++ b/drivers/s390/cio/qdio.c
@@ -3892,6 +3892,7 @@ init_QDIO(void)
3892 qdio_mempool_alloc, 3892 qdio_mempool_alloc,
3893 qdio_mempool_free, NULL); 3893 qdio_mempool_free, NULL);
3894 3894
3895 isc_register(QDIO_AIRQ_ISC);
3895 if (tiqdio_check_chsc_availability()) 3896 if (tiqdio_check_chsc_availability())
3896 QDIO_PRINT_ERR("Not all CHSCs supported. Continuing.\n"); 3897 QDIO_PRINT_ERR("Not all CHSCs supported. Continuing.\n");
3897 3898
@@ -3904,6 +3905,7 @@ static void __exit
3904cleanup_QDIO(void) 3905cleanup_QDIO(void)
3905{ 3906{
3906 tiqdio_unregister_thinints(); 3907 tiqdio_unregister_thinints();
3908 isc_unregister(QDIO_AIRQ_ISC);
3907 qdio_remove_procfs_entry(); 3909 qdio_remove_procfs_entry();
3908 qdio_release_qdio_memory(); 3910 qdio_release_qdio_memory();
3909 qdio_unregister_dbf_views(); 3911 qdio_unregister_dbf_views();