Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Nov 2021 17:25:23 GMT
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: a75159eabc90 - main - htu21: allow configuration via hints on FDT-based systems
Message-ID:  <202111061725.1A6HPN5S090927@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by avg:

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

commit a75159eabc90dc35af68c92f7d5eb72e087f6131
Author:     Andriy Gapon <avg@FreeBSD.org>
AuthorDate: 2021-11-04 11:56:12 +0000
Commit:     Andriy Gapon <avg@FreeBSD.org>
CommitDate: 2021-11-06 17:24:44 +0000

    htu21: allow configuration via hints on FDT-based systems
    
    On-board devices should be configured via the FDT and overlays.
    Hints are primarily useful for external and temporarily attached devices.
    Adding hints is much easier and faster than writing and compiling
    an overlay.
    
    MFC after:      1 week
---
 sys/dev/iicbus/htu21.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/sys/dev/iicbus/htu21.c b/sys/dev/iicbus/htu21.c
index 5c59ebe8f54a..aa8507bf7437 100644
--- a/sys/dev/iicbus/htu21.c
+++ b/sys/dev/iicbus/htu21.c
@@ -458,11 +458,17 @@ static int
 htu21_probe(device_t dev)
 {
 	uint8_t addr;
+	int rc;
 
 #ifdef FDT
-	if (!ofw_bus_search_compatible(dev, compat_data)->ocd_data)
+	if (!ofw_bus_status_okay(dev))
 		return (ENXIO);
+	if (ofw_bus_search_compatible(dev, compat_data)->ocd_data)
+		rc = BUS_PROBE_GENERIC;
+	else
 #endif
+		rc = BUS_PROBE_NOWILDCARD;
+
 	addr = iicbus_get_addr(dev);
 	if (addr != (HTU21_ADDR << 1)) {
 		device_printf(dev, "non-standard slave address 0x%02x\n",
@@ -470,7 +476,7 @@ htu21_probe(device_t dev)
 	}
 
 	device_set_desc(dev, "HTU21 temperature and humidity sensor");
-	return (BUS_PROBE_GENERIC);
+	return (rc);
 }
 
 static int
@@ -516,6 +522,4 @@ static devclass_t htu21_devclass;
 DRIVER_MODULE(htu21, iicbus, htu21_driver, htu21_devclass, 0, 0);
 MODULE_DEPEND(htu21, iicbus, IICBUS_MINVER, IICBUS_PREFVER, IICBUS_MAXVER);
 MODULE_VERSION(htu21, 1);
-#ifdef FDT
 IICBUS_FDT_PNP_INFO(compat_data);
-#endif



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202111061725.1A6HPN5S090927>