<linux/kernel.h> defines a lot of things that go beyond what's needed for <linux/list.h>. The only thing actually needed for the list implementation is <linux/container_of.h>, so we should just include that directly. This is also what Linux has been doing for a while, but it breaks the build of a number of source files, which are addressed in this series. Ahmad Fatoum (8): regmap-mmio: don't call kfree on non kmalloc allocated buffers treewide: fix dependency on indirectly included linux/kernel.h stringlist: make header self-contained module: retire MODULE_SYMBOL_PREFIX include: move MODULE_* macro definitions into own header include: asm-generic/bug: break recursive dependency include: linux/kernel.h: split off into multiple headers include: list: replace full kernel.h inclusion with smaller container_of.h arch/arm/lib32/io.c | 1 + arch/mips/include/asm/dma.h | 1 + commands/bthread.c | 1 + commands/mmc.c | 1 + common/module.c | 4 +- drivers/base/regmap/regmap-mmio.c | 5 +- drivers/clk/at91/at91sam9260.c | 1 + drivers/clk/at91/at91sam9g45.c | 1 + drivers/clk/at91/at91sam9n12.c | 1 + drivers/clk/at91/at91sam9rl.c | 1 + drivers/clk/at91/at91sam9x5.c | 1 + drivers/clk/at91/clk-audio-pll.c | 1 + drivers/clk/at91/clk-generated.c | 1 + drivers/clk/at91/clk-master.c | 1 + drivers/clk/at91/clk-pll.c | 1 + drivers/clk/at91/clk-usb.c | 1 + drivers/clk/at91/sama5d2.c | 1 + drivers/clk/at91/sama5d3.c | 1 + drivers/clk/at91/sama5d4.c | 1 + drivers/clk/rockchip/rst-rk3588.c | 1 + drivers/soc/sifive/sifive_l2_cache.c | 2 + drivers/usb/misc/onboard_usb_hub.c | 1 + include/asm-generic/bug.h | 1 - include/driver.h | 1 + include/linux/array_size.h | 14 ++ include/linux/barebox-wrapper.h | 12 +- include/linux/export.h | 4 +- include/linux/hex.h | 34 ++++ include/linux/kernel.h | 234 +-------------------------- include/linux/kstrtox.h | 123 ++++++++++++++ include/linux/list.h | 2 +- include/linux/math.h | 83 ++++++++++ include/linux/module.h | 17 ++ include/linux/mtd/nand.h | 1 + include/linux/wordpart.h | 49 ++++++ include/mach/mvebu/debug_ll.h | 1 + include/module.h | 5 +- include/stringlist.h | 1 + lib/idr.c | 2 + 39 files changed, 361 insertions(+), 253 deletions(-) create mode 100644 include/linux/array_size.h create mode 100644 include/linux/hex.h create mode 100644 include/linux/kstrtox.h create mode 100644 include/linux/math.h create mode 100644 include/linux/module.h create mode 100644 include/linux/wordpart.h -- 2.39.2