Date: Sun, 26 Jun 2011 00:35:11 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r223554 - head/sys/dev/sound/macio Message-ID: <201106260035.p5Q0ZBiM029069@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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");
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106260035.p5Q0ZBiM029069>