mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
[S390] dasd: Add ipldev parameter.
Specifying 'ipldev' in the dasd= kernel parameter will automatically activate the boot device for use by the dasd driver. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
4dfd5c4593
commit
7039d3a11c
@ -19,6 +19,7 @@
|
||||
|
||||
#include <asm/debug.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/ipl.h>
|
||||
|
||||
/* This is ugly... */
|
||||
#define PRINTK_HEADER "dasd_devmap:"
|
||||
@ -133,6 +134,8 @@ dasd_call_setup(char *str)
|
||||
__setup ("dasd=", dasd_call_setup);
|
||||
#endif /* #ifndef MODULE */
|
||||
|
||||
#define DASD_IPLDEV "ipldev"
|
||||
|
||||
/*
|
||||
* Read a device busid/devno from a string.
|
||||
*/
|
||||
@ -141,6 +144,20 @@ dasd_busid(char **str, int *id0, int *id1, int *devno)
|
||||
{
|
||||
int val, old_style;
|
||||
|
||||
/* Interpret ipldev busid */
|
||||
if (strncmp(DASD_IPLDEV, *str, strlen(DASD_IPLDEV)) == 0) {
|
||||
if (ipl_info.type != IPL_TYPE_CCW) {
|
||||
MESSAGE(KERN_ERR, "%s", "ipl device is not a ccw "
|
||||
"device");
|
||||
return -EINVAL;
|
||||
}
|
||||
*id0 = 0;
|
||||
*id1 = ipl_info.data.ccw.dev_id.ssid;
|
||||
*devno = ipl_info.data.ccw.dev_id.devno;
|
||||
*str += strlen(DASD_IPLDEV);
|
||||
|
||||
return 0;
|
||||
}
|
||||
/* check for leading '0x' */
|
||||
old_style = 0;
|
||||
if ((*str)[0] == '0' && (*str)[1] == 'x') {
|
||||
|
Loading…
Reference in New Issue
Block a user