changeset 11615:c0a53528bc28 onnv_133

6884610 Serial ports are no longer in /devices/isa so tip breaks due to 6813425
author Jimmy Vetayases <Jimmy.Vetayases@Sun.COM>
date Mon, 01 Feb 2010 16:13:06 -0800
parents 04f97eb93d43
children 7253e4e14950
files usr/src/cmd/devfsadm/i386/misc_link_i386.c usr/src/cmd/devfsadm/port_link.c
diffstat 2 files changed, 23 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/devfsadm/i386/misc_link_i386.c	Mon Feb 01 16:10:08 2010 -0800
+++ b/usr/src/cmd/devfsadm/i386/misc_link_i386.c	Mon Feb 01 16:13:06 2010 -0800
@@ -19,7 +19,7 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -68,6 +68,7 @@
 	{ "pseudo", "ddi_pseudo", "smbios",
 	    TYPE_EXACT | DRV_EXACT, ILEVEL_1, smbios,
 	},
+	/* floppies share the same class, but not link regex, as hard disks */
 	{ "disk",  "ddi_block:diskette", NULL,
 	    TYPE_EXACT, ILEVEL_1, diskette
 	},
@@ -152,6 +153,21 @@
 	},
 	{ "pseudo", "^ucode$", RM_ALWAYS | RM_PRE | RM_HOT,
 		ILEVEL_0, devfsadm_rm_all
+	},
+	{ "mouse", "^kdmouse$", RM_ALWAYS | RM_PRE,
+		ILEVEL_0, devfsadm_rm_all
+	},
+	{ "disk", "^(diskette|rdiskette)([0-9]*)$",
+		RM_ALWAYS | RM_PRE, ILEVEL_1, devfsadm_rm_all
+	},
+	{ "parallel", "^(lp|ecpp)([0-9]+)$", RM_ALWAYS | RM_PRE,
+		ILEVEL_1, devfsadm_rm_all
+	},
+	{ "serial", "^(tty|ttyd)([0-9]+)$", RM_ALWAYS | RM_PRE,
+		ILEVEL_1, devfsadm_rm_all
+	},
+	{ "serial", "^tty[a-z]$", RM_ALWAYS | RM_PRE,
+		ILEVEL_1, devfsadm_rm_all
 	}
 };
 
--- a/usr/src/cmd/devfsadm/port_link.c	Mon Feb 01 16:10:08 2010 -0800
+++ b/usr/src/cmd/devfsadm/port_link.c	Mon Feb 01 16:13:06 2010 -0800
@@ -20,7 +20,7 @@
  */
 
 /*
- * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -191,10 +191,12 @@
  * no cleanup rules for PCMCIA port devices
  */
 static devfsadm_remove_t ports_remove_cbt[] = {
-	{"port", "^term/[0-9]+$", RM_PRE | RM_HOT, ILEVEL_0, rm_dangling_port},
-	{"port", "^cua/[0-9]+$", RM_PRE | RM_HOT, ILEVEL_0, devfsadm_rm_all},
+	{"port", "^term/[0-9]+$", RM_PRE | RM_ALWAYS | RM_HOT, ILEVEL_0,
+	    rm_dangling_port},
+	{"port", "^cua/[0-9]+$", RM_PRE | RM_ALWAYS | RM_HOT, ILEVEL_0,
+	    devfsadm_rm_all},
 	{"port", "^(term|cua)/[a-z]$",
-	    RM_PRE, ILEVEL_0, devfsadm_rm_all},
+	    RM_PRE | RM_ALWAYS, ILEVEL_0, devfsadm_rm_all},
 };
 DEVFSADM_REMOVE_INIT_V0(ports_remove_cbt);