diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2008-07-14 03:59:01 -0400 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-07-14 04:02:11 -0400 |
commit | 6ef556ccc8fd256259745c4f0d0ab65aaf703824 (patch) | |
tree | f4029c1723d9bcf7e3627b7515f314d836ccbac9 /drivers/s390/cio | |
parent | fcc6ab335ba4d0f2b2548a910466c0dac767e5b1 (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.c | 5 | ||||
-rw-r--r-- | drivers/s390/cio/css.c | 2 | ||||
-rw-r--r-- | drivers/s390/cio/qdio.c | 2 |
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 | |||
3904 | cleanup_QDIO(void) | 3905 | cleanup_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(); |