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");
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to