diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2010-10-25 16:10:29 +0200 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-10-25 16:10:18 +0200 |
commit | 34196f82b16749e119db5572271944c4add0a9aa (patch) | |
tree | 94db487608b30d8c123419c19c12544686189c10 /drivers/s390/cio/chsc.h | |
parent | 34aec07c170b972a29c954b37047184bd0f9f294 (diff) | |
download | kernel_samsung_smdk4412-34196f82b16749e119db5572271944c4add0a9aa.tar.gz kernel_samsung_smdk4412-34196f82b16749e119db5572271944c4add0a9aa.tar.bz2 kernel_samsung_smdk4412-34196f82b16749e119db5572271944c4add0a9aa.zip |
[S390] chsc: consolidate memory allocations
Most wrappers around the channel subsystem call have their own logic
to allocate memory (with proper alignment) or use preallocated or
static memory. This patch converts most users of the channel
subsystem call to use the same preallocated page (proteced by a
spinlock).
Note: The sei_page which is used in our crw handler to call
"store event information" has to coexist, since
a) in crw context, while accessing the sei_page, sleeping is allowed
(which will conflict with the spinlock protection of the chsc_page)
b) in crw context, while accessing the sei_page, channel subsystem
calls are allowed (which itself would require the page).
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/chsc.h')
-rw-r--r-- | drivers/s390/cio/chsc.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/cio/chsc.h b/drivers/s390/cio/chsc.h index 6d669dd0dd8..852b61fc56e 100644 --- a/drivers/s390/cio/chsc.h +++ b/drivers/s390/cio/chsc.h @@ -66,7 +66,7 @@ extern void chsc_init_cleanup(void); extern int chsc_enable_facility(int); struct channel_subsystem; extern int chsc_secm(struct channel_subsystem *, int); -int __chsc_do_secm(struct channel_subsystem *css, int enable, void *page); +int __chsc_do_secm(struct channel_subsystem *css, int enable); int chsc_chp_vary(struct chp_id chpid, int on); int chsc_determine_channel_path_desc(struct chp_id chpid, int fmt, int rfmt, |