git: 591127bd4839 - main - acpi: Use __BUS_ACCESSOR_DEFAULT and __BUS_ACCESSOR for IVARs
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 24 Feb 2026 20:33:29 UTC
The branch main has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=591127bd4839d00fc218d74096ca07088ad30703
commit 591127bd4839d00fc218d74096ca07088ad30703
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-02-24 20:30:36 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2026-02-24 20:30:36 +0000
acpi: Use __BUS_ACCESSOR_DEFAULT and __BUS_ACCESSOR for IVARs
- Use __BUS_ACCESSOR_DEFAULT for the global handle IVAR to preserve
existing behavior for acpi_get_handle.
- Use __BUS_ACCESSOR for the private ACPI IVARs as these are only used
with direct children of acpi0.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D55355
---
sys/dev/acpica/acpivar.h | 29 ++++-------------------------
1 file changed, 4 insertions(+), 25 deletions(-)
diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h
index 336f6ed1dc94..aa8d5bd0971f 100644
--- a/sys/dev/acpica/acpivar.h
+++ b/sys/dev/acpica/acpivar.h
@@ -289,31 +289,10 @@ enum {
*/
#define ACPI_DEV_DOMAIN_UNKNOWN (-1)
-/*
- * Accessor functions for our ivars. Default value for BUS_READ_IVAR is
- * (type) 0. The <sys/bus.h> accessor functions don't check return values.
- */
-#define __ACPI_BUS_ACCESSOR(varp, var, ivarp, ivar, type) \
- \
-static __inline type varp ## _get_ ## var(device_t dev) \
-{ \
- uintptr_t v = 0; \
- BUS_READ_IVAR(device_get_parent(dev), dev, \
- ivarp ## _IVAR_ ## ivar, &v); \
- return ((type) v); \
-} \
- \
-static __inline void varp ## _set_ ## var(device_t dev, type t) \
-{ \
- uintptr_t v = (uintptr_t) t; \
- BUS_WRITE_IVAR(device_get_parent(dev), dev, \
- ivarp ## _IVAR_ ## ivar, v); \
-}
-
-__ACPI_BUS_ACCESSOR(acpi, handle, ACPI, HANDLE, ACPI_HANDLE)
-__ACPI_BUS_ACCESSOR(acpi, private, ACPI, PRIVATE, void *)
-__ACPI_BUS_ACCESSOR(acpi, flags, ACPI, FLAGS, int)
-__ACPI_BUS_ACCESSOR(acpi, domain, ACPI, DOMAIN, int)
+__BUS_ACCESSOR_DEFAULT(acpi, handle, ACPI, HANDLE, ACPI_HANDLE, NULL)
+__BUS_ACCESSOR(acpi, private, ACPI, PRIVATE, void *)
+__BUS_ACCESSOR(acpi, flags, ACPI, FLAGS, int)
+__BUS_ACCESSOR(acpi, domain, ACPI, DOMAIN, int)
void acpi_fake_objhandler(ACPI_HANDLE h, void *data);
static __inline device_t