aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/acpica/acpivar.h14
-rw-r--r--sys/dev/iicbus/iicbus.h6
2 files changed, 20 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h
index 807a851afa7b..fb196c2f4713 100644
--- a/sys/dev/acpica/acpivar.h
+++ b/sys/dev/acpica/acpivar.h
@@ -232,6 +232,20 @@ extern int acpi_quirks;
#define ACPI_Q_MADT_IRQ0 (1 << 2)
/*
+ * Plug and play information for device matching. Matching table format
+ * is compatible with ids parameter of ACPI_ID_PROBE bus method.
+ *
+ * XXX: While ACPI_ID_PROBE matches against _HID and all _CIDs, current
+ * acpi_pnpinfo_str() exports only _HID and first _CID. That means second
+ * and further _CIDs should be added to both acpi_pnpinfo_str() and
+ * ACPICOMPAT_PNP_INFO if device matching against them is required.
+ */
+#define ACPICOMPAT_PNP_INFO(t, busname) \
+ MODULE_PNP_INFO("Z:_HID", busname, t##hid, t, nitems(t)-1); \
+ MODULE_PNP_INFO("Z:_CID", busname, t##cid, t, nitems(t)-1);
+#define ACPI_PNP_INFO(t) ACPICOMPAT_PNP_INFO(t, acpi)
+
+/*
* Note that the low ivar values are reserved to provide
* interface compatibility with ISA drivers which can also
* attach to ACPI.
diff --git a/sys/dev/iicbus/iicbus.h b/sys/dev/iicbus/iicbus.h
index ee56a3c77ae8..d3c3f77d5455 100644
--- a/sys/dev/iicbus/iicbus.h
+++ b/sys/dev/iicbus/iicbus.h
@@ -77,6 +77,12 @@ IICBUS_ACCESSOR(addr, ADDR, uint32_t)
#define IICBUS_FDT_PNP_INFO(t)
#endif
+#ifdef DEV_ACPI
+#define IICBUS_ACPI_PNP_INFO(t) ACPICOMPAT_PNP_INFO(t, iicbus)
+#else
+#define IICBUS_ACPI_PNP_INFO(t)
+#endif
+
int iicbus_generic_intr(device_t dev, int event, char *buf);
void iicbus_init_frequency(device_t dev, u_int bus_freq);