Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390/cio: add condev keyword to cio_ignore

Provide a 'condev' keyword to cio_ignore to (un)ignore the
CCW console device.

Reviewed-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

authored by

Sebastian Ott and committed by
Martin Schwidefsky
d1eb16e6 0e6c83d1

+13 -5
+6 -5
Documentation/s390/CommonIO
··· 10 10 11 11 * cio_ignore = device[,device[,..]] 12 12 13 - device := {all | [!]ipldev | [!]<devno> | [!]<devno>-<devno>} 13 + device := {all | [!]ipldev | [!]condev | [!]<devno> | [!]<devno>-<devno>} 14 14 15 15 The given devices will be ignored by the common I/O-layer; no detection 16 16 and device sensing will be done on any of those devices. The subchannel to ··· 24 24 device numbers (0xabcd or abcd, for 2.4 backward compatibility). If you 25 25 give a device number 0xabcd, it will be interpreted as 0.0.abcd. 26 26 27 - You can use the 'all' keyword to ignore all devices. The 'ipldev' keyword can 28 - be used to refer to the CCW based boot device (this is probably useful only 29 - when combined with the '!' operator). The '!' operator will cause the I/O-layer 30 - to _not_ ignore a device. The command line is parsed from left to right. 27 + You can use the 'all' keyword to ignore all devices. The 'ipldev' and 'condev' 28 + keywords can be used to refer to the CCW based boot device and CCW console 29 + device respectively (these are probably useful only when combined with the '!' 30 + operator). The '!' operator will cause the I/O-layer to _not_ ignore a device. 31 + The command line is parsed from left to right. 31 32 32 33 For example, 33 34 cio_ignore=0.0.0023-0.0.0042,0.0.4711
+7
drivers/s390/cio/blacklist.c
··· 189 189 to_cssid = from_cssid; 190 190 to_ssid = from_ssid; 191 191 to = from; 192 + } else if (strcmp(parm, "condev") == 0) { 193 + if (console_devno == -1) 194 + continue; 195 + 196 + from_cssid = to_cssid = 0; 197 + from_ssid = to_ssid = 0; 198 + from = to = console_devno; 192 199 } else { 193 200 rc = parse_busid(strsep(&parm, "-"), &from_cssid, 194 201 &from_ssid, &from, msgtrigger);