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
This commit is contained in:
nwhitehorn 2011-06-26 00:35:11 +00:00
parent e836f024ca
commit a6b7f1b6f8

View File

@ -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");