A com_acpi_softc pointer is used as the interrupt callback cookie which
authoranton <anton@openbsd.org>
Tue, 28 Jun 2022 16:29:56 +0000 (16:29 +0000)
committeranton <anton@openbsd.org>
Tue, 28 Jun 2022 16:29:56 +0000 (16:29 +0000)
is later on interpreted as a com_softc pointer. This is not a problem in
practice as a com_softc structure is the first member of the
com_acpi_softc structure.

Using the actual types consistently yields a better symmetry in my
opinion between registering the interrupt and the corresponding
interrupt handler.

ok deraadt@ kettenis@

sys/dev/acpi/com_acpi.c

index 9c1e4af..0289ca2 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: com_acpi.c,v 1.8 2022/04/06 18:59:27 naddy Exp $      */
+/*     $OpenBSD: com_acpi.c,v 1.9 2022/06/28 16:29:56 anton Exp $      */
 /*
  * Copyright (c) 2018 Mark Kettenis
  *
@@ -159,9 +159,9 @@ com_acpi_is_designware(const char *hid)
 int
 com_acpi_intr_designware(void *cookie)
 {
-       struct com_softc *sc = cookie;
+       struct com_acpi_softc *sc = cookie;
 
-       com_read_reg(sc, com_usr);
+       com_read_reg(&sc->sc, com_usr);
 
-       return comintr(sc);
+       return comintr(&sc->sc);
 }