aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasily Gorbik <gor@linux.ibm.com>2018-04-03 10:02:51 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2018-04-10 01:38:58 -0400
commite9627da113db1b457a504ee4dca6c0a1a19e18fc (patch)
treea2cbf72a8e1b6eacb57acbe65619a2030959ae79
parentbdbfe18595ceabd2b6b4e3abae9c3911802e3cb1 (diff)
s390/ipl: get rid of ipl_ssid and ipl_devno
ipl_ssid and ipl_devno used to be used during ccw boot when diag308 store was not available. Reuse ipl_block to store those values. Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--arch/s390/kernel/ipl.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
index 8ca90d637a6b..a2224f37e3a5 100644
--- a/arch/s390/kernel/ipl.c
+++ b/arch/s390/kernel/ipl.c
@@ -119,8 +119,6 @@ static char *dump_type_str(enum dump_type type)
119 } 119 }
120} 120}
121 121
122static u8 ipl_ssid;
123static u16 ipl_devno;
124u32 ipl_flags; 122u32 ipl_flags;
125 123
126enum ipl_method { 124enum ipl_method {
@@ -415,7 +413,8 @@ static ssize_t sys_ipl_device_show(struct kobject *kobj,
415{ 413{
416 switch (ipl_info.type) { 414 switch (ipl_info.type) {
417 case IPL_TYPE_CCW: 415 case IPL_TYPE_CCW:
418 return sprintf(page, "0.%x.%04x\n", ipl_ssid, ipl_devno); 416 return sprintf(page, "0.%x.%04x\n", ipl_block.ipl_info.ccw.ssid,
417 ipl_block.ipl_info.ccw.devno);
419 case IPL_TYPE_FCP: 418 case IPL_TYPE_FCP:
420 case IPL_TYPE_FCP_DUMP: 419 case IPL_TYPE_FCP_DUMP:
421 return sprintf(page, "0.0.%04x\n", 420 return sprintf(page, "0.0.%04x\n",
@@ -1175,8 +1174,8 @@ static int __init reipl_ccw_init(void)
1175 1174
1176 reipl_block_ccw_init(reipl_block_ccw); 1175 reipl_block_ccw_init(reipl_block_ccw);
1177 if (ipl_info.type == IPL_TYPE_CCW) { 1176 if (ipl_info.type == IPL_TYPE_CCW) {
1178 reipl_block_ccw->ipl_info.ccw.ssid = ipl_ssid; 1177 reipl_block_ccw->ipl_info.ccw.ssid = ipl_block.ipl_info.ccw.ssid;
1179 reipl_block_ccw->ipl_info.ccw.devno = ipl_devno; 1178 reipl_block_ccw->ipl_info.ccw.devno = ipl_block.ipl_info.ccw.devno;
1180 reipl_block_ccw_fill_parms(reipl_block_ccw); 1179 reipl_block_ccw_fill_parms(reipl_block_ccw);
1181 } 1180 }
1182 1181
@@ -1924,8 +1923,8 @@ void __init setup_ipl(void)
1924 ipl_info.type = get_ipl_type(); 1923 ipl_info.type = get_ipl_type();
1925 switch (ipl_info.type) { 1924 switch (ipl_info.type) {
1926 case IPL_TYPE_CCW: 1925 case IPL_TYPE_CCW:
1927 ipl_info.data.ccw.dev_id.ssid = ipl_ssid; 1926 ipl_info.data.ccw.dev_id.ssid = ipl_block.ipl_info.ccw.ssid;
1928 ipl_info.data.ccw.dev_id.devno = ipl_devno; 1927 ipl_info.data.ccw.dev_id.devno = ipl_block.ipl_info.ccw.devno;
1929 break; 1928 break;
1930 case IPL_TYPE_FCP: 1929 case IPL_TYPE_FCP:
1931 case IPL_TYPE_FCP_DUMP: 1930 case IPL_TYPE_FCP_DUMP:
@@ -1960,8 +1959,8 @@ void __init ipl_verify_parameters(void)
1960 if (cio_get_iplinfo(&iplinfo)) 1959 if (cio_get_iplinfo(&iplinfo))
1961 return; 1960 return;
1962 1961
1963 ipl_ssid = iplinfo.ssid; 1962 ipl_block.ipl_info.ccw.ssid = iplinfo.ssid;
1964 ipl_devno = iplinfo.devno; 1963 ipl_block.ipl_info.ccw.devno = iplinfo.devno;
1965 ipl_flags |= IPL_DEVNO_VALID; 1964 ipl_flags |= IPL_DEVNO_VALID;
1966 if (!iplinfo.is_qdio) 1965 if (!iplinfo.is_qdio)
1967 return; 1966 return;