s390/cio: add condev keyword to cio_ignore
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Tue, 30 Apr 2013 15:17:34 +0000 (17:17 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 2 May 2013 13:50:20 +0000 (15:50 +0200)
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>
Documentation/s390/CommonIO
drivers/s390/cio/blacklist.c

index d90a5dd..6e0f63f 100644 (file)
@@ -10,7 +10,7 @@ Command line parameters
 
 * cio_ignore = device[,device[,..]]
 
-       device := {all | [!]ipldev | [!]<devno> | [!]<devno>-<devno>}
+       device := {all | [!]ipldev | [!]condev | [!]<devno> | [!]<devno>-<devno>}
 
   The given devices will be ignored by the common I/O-layer; no detection
   and device sensing will be done on any of those devices. The subchannel to 
@@ -24,10 +24,11 @@ Command line parameters
   device numbers (0xabcd or abcd, for 2.4 backward compatibility). If you
   give a device number 0xabcd, it will be interpreted as 0.0.abcd.
 
-  You can use the 'all' keyword to ignore all devices. The 'ipldev' keyword can
-  be used to refer to the CCW based boot device (this is probably useful only
-  when combined with the '!' operator). The '!' operator will cause the I/O-layer
-  to _not_ ignore a device. The command line is parsed from left to right.
+  You can use the 'all' keyword to ignore all devices. The 'ipldev' and 'condev'
+  keywords can be used to refer to the CCW based boot device and CCW console
+  device respectively (these are probably useful only when combined with the '!'
+  operator). The '!' operator will cause the I/O-layer to _not_ ignore a device.
+  The command line is parsed from left to right.
 
   For example, 
        cio_ignore=0.0.0023-0.0.0042,0.0.4711
index 706eb9b..a9fe3de 100644 (file)
@@ -189,6 +189,13 @@ static int blacklist_parse_parameters(char *str, range_action action,
                        to_cssid = from_cssid;
                        to_ssid = from_ssid;
                        to = from;
+               } else if (strcmp(parm, "condev") == 0) {
+                       if (console_devno == -1)
+                               continue;
+
+                       from_cssid = to_cssid = 0;
+                       from_ssid = to_ssid = 0;
+                       from = to = console_devno;
                } else {
                        rc = parse_busid(strsep(&parm, "-"), &from_cssid,
                                         &from_ssid, &from, msgtrigger);