A couple minor improvements to spibus.c...
- Change the description string to "SPI bus" (was "spibus bus"). - This is the default driver for a SPI bus, not a generic implementation, so return the probe value that indicates such. - Use device_delete_children() at detach time, instead of a local loop to enumerate the children and detach each one individually.
This commit is contained in:
parent
392bffb9b1
commit
c1ec6ac510
@ -49,8 +49,9 @@ __FBSDID("$FreeBSD$");
|
||||
static int
|
||||
spibus_probe(device_t dev)
|
||||
{
|
||||
device_set_desc(dev, "spibus bus");
|
||||
return (BUS_PROBE_GENERIC);
|
||||
|
||||
device_set_desc(dev, "SPI bus");
|
||||
return (BUS_PROBE_DEFAULT);
|
||||
}
|
||||
|
||||
static int
|
||||
@ -70,16 +71,11 @@ spibus_attach(device_t dev)
|
||||
static int
|
||||
spibus_detach(device_t dev)
|
||||
{
|
||||
int err, ndevs, i;
|
||||
device_t *devlist;
|
||||
int err;
|
||||
|
||||
if ((err = bus_generic_detach(dev)) != 0)
|
||||
return (err);
|
||||
if ((err = device_get_children(dev, &devlist, &ndevs)) != 0)
|
||||
return (err);
|
||||
for (i = 0; i < ndevs; i++)
|
||||
device_delete_child(dev, devlist[i]);
|
||||
free(devlist, M_TEMP);
|
||||
device_delete_children(dev);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user