Page MenuHomeFreeBSD

arm/ti: include sys/intr.h where INTRNG types are used
Needs ReviewPublic

Authored by rick_sloservers.com on Aug 23 2026, 8:02 AM.
Tags
Referenced Files
Unknown Object (File)
Wed, Oct 7, 1:06 AM
Unknown Object (File)
Mon, Oct 5, 3:57 PM
Unknown Object (File)
Mon, Oct 5, 1:17 AM
Unknown Object (File)
Sun, Oct 4, 5:45 AM
Unknown Object (File)
Sun, Oct 4, 1:06 AM
Unknown Object (File)
Thu, Oct 1, 4:30 AM
Unknown Object (File)
Wed, Sep 30, 12:47 PM
Unknown Object (File)
Tue, Sep 29, 5:28 PM
Subscribers

Details

Reviewers
imp
oh
manu
andrew
Summary

<machine/intr.h> no longer includes <sys/intr.h> on arm, so drivers
that use INTRNG types have to include it themselves. ti_gpio.h embeds
a struct intr_irqsrc, and aintc.c and ti_gpio.c use INTRNG interfaces,
but they only include <machine/intr.h>, so they no longer compile:

sys/arm/ti/ti_gpio.h:41:21: error: field has incomplete type 'struct intr_irqsrc'

Nothing caught this because no kernel config in the tree builds these
files since AM335x was removed from armv7 GENERIC in 3416e102c4e9.

Include <sys/intr.h> where it is needed.

Test Plan

No in-tree armv7 config currently builds these files, so compile coverage
requires an AM335x kernel configuration (see D46703).

Verified by building KERNCONF=AM335X for TARGET=arm TARGET_ARCH=armv7 on
stable/15 with D46703 applied: the errors above are resolved and the
kernel links. The resulting kernel boots to multi-user on a BeagleBone
Black Rev B3, with aintc and ti_gpio both attaching; gpioctl -lv
enumerates all four GPIO banks and pin direction/value changes read back
correctly.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped