[Ksummit-discuss] Should .c files be discouraged from #including UAPI headers directly?

David Howells dhowells at redhat.com
Wed Aug 6 11:28:43 UTC 2014


Is it okay for ordinary .c files to #include uapi/ files directly?

	warthog>git grep 'include.*uapi/' -- \*.c
	arch/arm/kernel/psci.c:#include <uapi/linux/psci.h>
	arch/arm/kernel/psci_smp.c:#include <uapi/linux/psci.h>
	arch/arm64/kernel/psci.c:#include <uapi/linux/psci.h>
	arch/blackfin/kernel/setup.c:#include <uapi/linux/cramfs_fs.h>
	arch/mips/bcm63xx/boards/board_bcm963xx.c:#include <uapi/linux/bcm933xx_hcs.h>
	arch/mips/pci/pci-virtio-guest.c:#include <uapi/asm/bitfield.h>
	arch/x86/vdso/vclock_gettime.c:#include <uapi/linux/time.h>
	arch/xtensa/kernel/syscall.c:#include <uapi/asm/unistd.h>
	drivers/gpu/drm/exynos/exynos_drm_fb.c:#include <uapi/drm/exynos_drm.h>
	drivers/infiniband/core/sa_query.c:#include <uapi/linux/if_ether.h>
	drivers/mtd/ar7part.c:#include <uapi/linux/magic.h>
	...

or should they be encouraged to #include the non-uapi variant instead, eg:

	#include <linux/psci.h>

rather than:

	#include <uapi/linux/psci.h>

given that appropriate -I flags are supplied such that they'll fall back to
the UAPI header if a kernel-internal header does not exist?

David


More information about the Ksummit-discuss mailing list