svn commit: r223554 - head/sys/dev/sound/macio

Nathan Whitehorn nwhitehorn at FreeBSD.org
Sun Jun 26 00:35:12 UTC 2011


Author: nwhitehorn
Date: Sun Jun 26 00:35:11 2011
New Revision: 223554
URL: http://svn.freebsd.org/changeset/base/223554

Log:
  Do not attach to the sound device on G5 Xserves, which is actually an
  LED controller used to run the load graph on the server's front panel.
  
  Reported by:	Paul Mather <paul at gromit dot dlib dot vt dot edu>
  MFC after:	3 days

Modified:
  head/sys/dev/sound/macio/i2s.c

Modified: head/sys/dev/sound/macio/i2s.c
==============================================================================
--- head/sys/dev/sound/macio/i2s.c	Sat Jun 25 23:14:49 2011	(r223553)
+++ head/sys/dev/sound/macio/i2s.c	Sun Jun 26 00:35:11 2011	(r223554)
@@ -158,6 +158,8 @@ static int
 i2s_probe(device_t self)
 {
 	const char 		*name;
+	phandle_t		subchild;
+	char			subchildname[255];
 
 	name = ofw_bus_get_name(self);
 	if (!name)
@@ -165,6 +167,16 @@ i2s_probe(device_t self)
 
 	if (strcmp(name, "i2s") != 0)
 		return (ENXIO);
+
+	/*
+	 * Do not attach to "lightshow" I2S devices on Xserves. This controller
+	 * is used there to control the LEDs on the front panel, and this
+	 * driver can't handle it.
+	 */
+	subchild = OF_child(OF_child(ofw_bus_get_node(self)));
+	if (subchild != 0 && OF_getprop(subchild, "name", subchildname,
+	    sizeof(subchildname)) > 0 && strcmp(subchildname, "lightshow") == 0)
+		return (ENXIO);
 	
 	device_set_desc(self, "Apple I2S Audio Controller");
 


More information about the svn-src-head mailing list