summaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/chsc.c
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2007-07-27 12:29:21 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-07-27 12:29:20 +0200
commit4434a38c37dd30e5cd01456a136367a43d8da2dd (patch)
tree7597941ae953297e8f8531e995d9b0c2e9a114a3 /drivers/s390/cio/chsc.c
parent[S390] cio: Make CIO_* macros safe if dbfs are not available. (diff)
downloadlinux-4434a38c37dd30e5cd01456a136367a43d8da2dd.tar.xz
linux-4434a38c37dd30e5cd01456a136367a43d8da2dd.zip
[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.c10
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;