diff options
| author | Ian Lepore <ian@FreeBSD.org> | 2018-04-08 17:06:30 +0000 |
|---|---|---|
| committer | Ian Lepore <ian@FreeBSD.org> | 2018-04-08 17:06:30 +0000 |
| commit | bc7b44aeaf05364c44d32e72c1223330352d897a (patch) | |
| tree | f1815d9f9a983b4f4b57a8d5592b75ee30cb52b9 /sys/dev/spibus/spigen.c | |
| parent | 3762bafa7b472488365adcb17358730f6bb8384a (diff) | |
Notes
Diffstat (limited to 'sys/dev/spibus/spigen.c')
| -rw-r--r-- | sys/dev/spibus/spigen.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/sys/dev/spibus/spigen.c b/sys/dev/spibus/spigen.c index fd3dd3bec620..46920b3234a7 100644 --- a/sys/dev/spibus/spigen.c +++ b/sys/dev/spibus/spigen.c @@ -79,16 +79,19 @@ spigen_probe(device_t dev) { int rv; -#ifdef FDT - if (!ofw_bus_status_okay(dev)) - return (ENXIO); - - if (!ofw_bus_is_compatible(dev, "freebsd,spigen")) - return (ENXIO); - rv = BUS_PROBE_DEFAULT; -#else + /* + * By default we only bid to attach if specifically added by our parent + * (usually via hint.spigen.#.at=busname). On FDT systems we bid as the + * default driver based on being configured in the FDT data. + */ rv = BUS_PROBE_NOWILDCARD; + +#ifdef FDT + if (ofw_bus_status_okay(dev) && + ofw_bus_is_compatible(dev, "freebsd,spigen")) + rv = BUS_PROBE_DEFAULT; #endif + device_set_desc(dev, "SPI Generic IO"); return (rv); |
