diff options
author | David Hildenbrand <dahi@linux.vnet.ibm.com> | 2015-05-06 13:18:59 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2015-05-13 09:58:17 +0200 |
commit | 37c5f6c86cf5cda66c71c3bb1672e3b09d81c6da (patch) | |
tree | 4926bbcc67eb0b74f22634c63866040d1699e63d /drivers/s390/char/zcore.c | |
parent | 9747bc47b340228a007efcc262c0bc4d2e94116d (diff) | |
download | lwn-37c5f6c86cf5cda66c71c3bb1672e3b09d81c6da.tar.gz lwn-37c5f6c86cf5cda66c71c3bb1672e3b09d81c6da.zip |
s390/sclp: unify basic sclp access by exposing "struct sclp"
Let's unify basic access to sclp fields by storing the data in an external
struct in asm/sclp.h.
The values can now directly be accessed by other components, so there is
no need for most accessor functions and external variables anymore.
The mtid, mtid_max and facility part will be cleaned up separately.
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/char/zcore.c')
-rw-r--r-- | drivers/s390/char/zcore.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/s390/char/zcore.c b/drivers/s390/char/zcore.c index a68fcfd1d48c..9a3dd95029cc 100644 --- a/drivers/s390/char/zcore.c +++ b/drivers/s390/char/zcore.c @@ -330,9 +330,9 @@ static ssize_t zcore_read(struct file *file, char __user *buf, size_t count, mem_offs = 0; /* Copy from HSA data */ - if (*ppos < sclp_get_hsa_size() + HEADER_SIZE) { + if (*ppos < sclp.hsa_size + HEADER_SIZE) { size = min((count - hdr_count), - (size_t) (sclp_get_hsa_size() - mem_start)); + (size_t) (sclp.hsa_size - mem_start)); rc = memcpy_hsa_user(buf + hdr_count, mem_start, size); if (rc) goto fail; @@ -483,7 +483,7 @@ static ssize_t zcore_hsa_read(struct file *filp, char __user *buf, static char str[18]; if (hsa_available) - snprintf(str, sizeof(str), "%lx\n", sclp_get_hsa_size()); + snprintf(str, sizeof(str), "%lx\n", sclp.hsa_size); else snprintf(str, sizeof(str), "0\n"); return simple_read_from_buffer(buf, count, ppos, str, strlen(str)); @@ -558,7 +558,7 @@ static int __init sys_info_init(enum arch_id arch, unsigned long mem_end) static int __init check_sdias(void) { - if (!sclp_get_hsa_size()) { + if (!sclp.hsa_size) { TRACE("Could not determine HSA size\n"); return -ENODEV; } @@ -619,7 +619,7 @@ static int __init zcore_reipl_init(void) ipl_block = (void *) __get_free_page(GFP_KERNEL); if (!ipl_block) return -ENOMEM; - if (ipib_info.ipib < sclp_get_hsa_size()) + if (ipib_info.ipib < sclp.hsa_size) rc = memcpy_hsa_kernel(ipl_block, ipib_info.ipib, PAGE_SIZE); else rc = memcpy_real(ipl_block, (void *) ipib_info.ipib, PAGE_SIZE); |