HomeFreeBSD

linuxkpi: Replicate Linux #includes between headers

Description

linuxkpi: Replicate Linux #includes between headers

The DRM drivers (and probably other parts of the Linux kernel) had a
significant cleanup w.r.t. which source file includes what in Linux
6.10. Nonetheless, the DRM drivers still depend on implicit namespace
pollution because some source files do not include all the headers they
should.

This cleanup broke the build with FreeBSD because we do not replicate
the same #include directives everywhere.

This commit adds the same #include directives in several headers in
order to get the same namespace pollution.

This fixes the build of the DRM drivers from Linux 6.10. An example is
drm_dp_tunnel.c which needed str_yes_no() defined by
<linux/string_helpers.h> (technically <linux/string_choices.h> in
Linux). It gets it through:

<linux/i2c.h> -> <linux/regulator/consumer.h> -> <linux/suspend.h> ->
<linux/swap.h> -> <linux/memcontrol.h> -> <linux/cgroup.h> ->
<linux/seq_file.h> -> <linux/string_helpers.h>

Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54496

Details

Provenance
dumbbellAuthored on Aug 17 2025, 11:17 AM
Reviewer
emaste
Differential Revision
D54496: linuxkpi: Replicate Linux #includes between headers
Parents
rG33fa585a0e90: linuxkpi: Split <linux/compiler.h>
Branches
Unknown
Tags
Unknown