diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2007-07-27 12:29:21 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-07-27 12:29:20 +0200 |
commit | 4434a38c37dd30e5cd01456a136367a43d8da2dd (patch) | |
tree | 7597941ae953297e8f8531e995d9b0c2e9a114a3 /drivers/s390/cio/chsc.c | |
parent | 303fa9e39605c1d56971dd22cd04d2186dc42c98 (diff) | |
download | linux-4434a38c37dd30e5cd01456a136367a43d8da2dd.tar.bz2 |
[S390] cio: Reorganize initialization.
- Localize more of the init calls in init_channel_subsystem().
- Print a warning if init_channel_subsystem() failed.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/chsc.c')
-rw-r--r-- | drivers/s390/cio/chsc.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c index b38dc2478541..597c0c76a2ad 100644 --- a/drivers/s390/cio/chsc.c +++ b/drivers/s390/cio/chsc.c @@ -990,8 +990,7 @@ out: return ret; } -static int __init -chsc_alloc_sei_area(void) +int __init chsc_alloc_sei_area(void) { sei_page = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); if (!sei_page) @@ -1000,6 +999,11 @@ chsc_alloc_sei_area(void) return (sei_page ? 0 : -ENOMEM); } +void __init chsc_free_sei_area(void) +{ + kfree(sei_page); +} + int __init chsc_enable_facility(int operation_code) { @@ -1051,8 +1055,6 @@ chsc_enable_facility(int operation_code) return ret; } -subsys_initcall(chsc_alloc_sei_area); - struct css_general_char css_general_characteristics; struct css_chsc_char css_chsc_characteristics; |