git: a6586a518bc2 - stable/13 - smbus: Use a bus_child_deleted method to free ivars for children
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 01 Dec 2024 04:58:06 UTC
The branch stable/13 has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=a6586a518bc2a06de53babc9d8f8b964fe4647f5
commit a6586a518bc2a06de53babc9d8f8b964fe4647f5
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2024-11-01 14:10:10 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2024-11-30 21:45:44 +0000
smbus: Use a bus_child_deleted method to free ivars for children
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D47372
(cherry picked from commit 03f641f9b1d82b7369c8988afbd75a32d9913aaf)
---
sys/dev/smbus/smbus.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/sys/dev/smbus/smbus.c b/sys/dev/smbus/smbus.c
index 988e05e8ea75..2eb840a05c44 100644
--- a/sys/dev/smbus/smbus.c
+++ b/sys/dev/smbus/smbus.c
@@ -112,6 +112,12 @@ smbus_add_child(device_t dev, u_int order, const char *name, int unit)
return (child);
}
+static void
+smbus_child_deleted(device_t dev, device_t child)
+{
+ free(device_get_ivars(child), M_DEVBUF);
+}
+
static void
smbus_hinted_child(device_t bus, const char *dname, int dunit)
{
@@ -225,6 +231,7 @@ static device_method_t smbus_methods[] = {
/* bus interface */
DEVMETHOD(bus_add_child, smbus_add_child),
+ DEVMETHOD(bus_child_deleted, smbus_child_deleted),
DEVMETHOD(bus_hinted_child, smbus_hinted_child),
DEVMETHOD(bus_probe_nomatch, smbus_probe_nomatch),
DEVMETHOD(bus_child_location_str, smbus_child_location_str),