aboutsummaryrefslogtreecommitdiff
path: root/drivers/s390/char/sclp_info.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/char/sclp_info.c')
-rw-r--r--drivers/s390/char/sclp_info.c57
1 files changed, 0 insertions, 57 deletions
diff --git a/drivers/s390/char/sclp_info.c b/drivers/s390/char/sclp_info.c
deleted file mode 100644
index 7bcbe643b08..00000000000
--- a/drivers/s390/char/sclp_info.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * drivers/s390/char/sclp_info.c
- *
- * Copyright IBM Corp. 2007
- * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
- */
-
-#include <linux/init.h>
-#include <linux/errno.h>
-#include <linux/string.h>
-#include <asm/sclp.h>
-#include "sclp.h"
-
-struct sclp_readinfo_sccb s390_readinfo_sccb;
-
-void __init sclp_readinfo_early(void)
-{
- sclp_cmdw_t command;
- struct sccb_header *sccb;
- int ret;
-
- __ctl_set_bit(0, 9); /* enable service signal subclass mask */
-
- sccb = &s390_readinfo_sccb.header;
- command = SCLP_CMDW_READ_SCP_INFO_FORCED;
- while (1) {
- u16 response;
-
- memset(&s390_readinfo_sccb, 0, sizeof(s390_readinfo_sccb));
- sccb->length = sizeof(s390_readinfo_sccb);
- sccb->control_mask[2] = 0x80;
-
- ret = sclp_service_call(command, &s390_readinfo_sccb);
-
- if (ret == -EIO)
- goto out;
- if (ret == -EBUSY)
- continue;
-
- __load_psw_mask(PSW_BASE_BITS | PSW_MASK_EXT |
- PSW_MASK_WAIT | PSW_DEFAULT_KEY);
- local_irq_disable();
- barrier();
-
- response = sccb->response_code;
-
- if (response == 0x10)
- break;
-
- if (response != 0x1f0 || command == SCLP_CMDW_READ_SCP_INFO)
- break;
-
- command = SCLP_CMDW_READ_SCP_INFO;
- }
-out:
- __ctl_clear_bit(0, 9); /* disable service signal subclass mask */
-}