aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuel Vadot <manu@FreeBSD.org>2023-08-13 06:28:13 +0000
committerEmmanuel Vadot <manu@FreeBSD.org>2023-08-13 09:19:44 +0000
commit69f8cc60aa1e3140f41a75c859333a3d56c947fb (patch)
tree76543ed78bcf6aac42a35bb3004507a7d77fa55b
parenta953ac19dbc890a08b6b267f9572dc5974dbc8ad (diff)
downloadsrc-69f8cc60aa1e3140f41a75c859333a3d56c947fb.tar.gz
src-69f8cc60aa1e3140f41a75c859333a3d56c947fb.zip
ofw_firmware: Only match if there is no compatible
If there is a compatible string it likely means that the firmware needs a dedicated driver (like on RPI*). PR: 273087 Tested-by: Mark Millard <marklmi26-fbsd@yahoo.com> Sponsored by: Beckhoff Automation GmbH & Co. KG Fixes: fdfd3a90b6ce ("ofw: Add a ofw_firmware driver")
-rw-r--r--sys/dev/ofw/ofw_firmware.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ofw/ofw_firmware.c b/sys/dev/ofw/ofw_firmware.c
index faba123c3e09..7d62fc317c1d 100644
--- a/sys/dev/ofw/ofw_firmware.c
+++ b/sys/dev/ofw/ofw_firmware.c
@@ -100,11 +100,14 @@ ofw_firmware_add_device(device_t dev, phandle_t node, u_int order,
static int
ofw_firmware_probe(device_t dev)
{
- const char *name;
+ const char *name, *compat;
name = ofw_bus_get_name(dev);
if (name == NULL || strcmp(name, "firmware") != 0)
return (ENXIO);
+ compat = ofw_bus_get_compat(dev);
+ if (compat != NULL)
+ return (ENXIO);
device_set_desc(dev, "OFW Firmware Group");
return (0);