On 8/13/23 2:19 AM, Emmanuel Vadot wrote:
The branch main has been updated by manu:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=69f8cc60aa1e3140f41a75c859333a3d56c947fb

commit 69f8cc60aa1e3140f41a75c859333a3d56c947fb
Author:     Emmanuel Vadot <[email protected]>
AuthorDate: 2023-08-13 06:28:13 +0000
Commit:     Emmanuel Vadot <[email protected]>
CommitDate: 2023-08-13 09:19:44 +0000

     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 <[email protected]>
     Sponsored by:   Beckhoff Automation GmbH & Co. KG
     Fixes:          fdfd3a90b6ce ("ofw: Add a ofw_firmware driver")
---
  sys/dev/ofw/ofw_firmware.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

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

Returning 0 from probe should be discouraged in new drivers FWIW.  I'm curious
here why you don't instead just return BUS_PROBE_GENERIC here, and let the
RPi-specific driver return BUS_PROBE_DEFAULT?

--
John Baldwin


Reply via email to