Header inclusions in the _headers_ of GPIO library is semi-random or outdated. Here is an attempt to fix the mess. This is based on latest Linux Next with Pierluigi's patch which I consider a good quick fix to the issue that can't be easily solved. Patches 2-4 from me are pretty much straightforward, and are not expected to fail (so may be applied as soon as test is done). However the last one is to detect any other hellness of the mess. Andy Shevchenko (4): gpio: Drop unused forward declaration from driver.h gpio: Deduplicate forward declarations in consumer.h gpio: Group forward declarations in consumer.h gpio: Clean up headers Pierluigi Passaro (1): gpiolib: fix linker errors when GPIOLIB is disabled include/asm-generic/gpio.h | 8 ----- include/linux/gpio.h | 9 ++---- include/linux/gpio/consumer.h | 24 +++++++-------- include/linux/gpio/driver.h | 56 +++++++++++++++++++++++++++-------- 4 files changed, 59 insertions(+), 38 deletions(-) base-commit: 9fbee811e479aca2f3523787cae1f46553141b40 -- 2.39.0