| #
b5f7a0b0
|
| 17-Aug-2025 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
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. Non
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
show more ...
|
| #
b5f7a0b0
|
| 17-Aug-2025 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
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. Non
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
show more ...
|
| #
b5f7a0b0
|
| 17-Aug-2025 |
Jean-Sébastien Pédron <dumbbell@FreeBSD.org> |
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. Non
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
show more ...
|