This group of MFD drivers are all controlled by "bool" Kconfig settings, but contain module infrastructure like unused/orphaned "remove" and __exit functions, use of <linux/module.h> and/or MODULE_ macros that are no-ops in the non-modular case. We can remove/replace all of the above. We are trying to make driver code consistent with the Makefiles/Kconfigs that control them. This means not using modular functions/macros for drivers that can never be built as a module. Some of the downfalls this leads to are: (1) it is easy to accidentally write unused module_exit and remove code (2) it can be misleading when reading the source, thinking it can be modular when the Makefile and/or Kconfig prohibit it (3) it requires the include of the module.h header file which in turn includes nearly everything else, thus adding to CPP overhead. (4) it gets copied/replicated into other drivers and spreads quickly. We've integrated hundreds of these type cleanups already, as the git history will show. This is just a continuation of that objective. The ".remove" function linked into the device structure deserves an extra comment. While the normal execution path would be from a module unload (if it was modular), it is theoretically possible that a person could use the core driver infrastructure to manually push the driver off the hardware; an "unbind" event -- which would run the ".remove" function. Given that, in this series, when we delete a ".remove" function from the driver struct, we also disable unbind. Should there be a valid use case out there that has been overlooked, this will ensure we get to see it and can react/revert accordingly. Build testing was done on drivers/mfd for allmodconfig on x86_64, ARM and ARM-64 (on linux-next). --- Cc: Alexandre Torgue <alexandre.torgue@xxxxxx> Cc: Daniel Ribeiro <drwyrm@xxxxxxxxx> Cc: Graeme Gregory <gg@xxxxxxxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxxxx> Cc: Harald Welte <laforge@xxxxxxxxxxx> Cc: Ian Molton <spyro@xxxxxxx> Cc: Jorge Eduardo Candelaria <jorge.candelaria@xxxxxx> Cc: Keshava Munegowda <keshava_mgowda@xxxxxx> Cc: Lee Jones <lee.jones@xxxxxxxxxx> Cc: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Cc: Mike Rapoport <mike@xxxxxxxxxxxxxx> Cc: Milo Kim <milo.kim@xxxxxx> Cc: Misael Lopez Cruz <misael.lopez@xxxxxx> Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Cc: Rabin Vincent <rabin.vincent@xxxxxxxxxxxxxx> Cc: Roger Quadros <rogerq@xxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Viresh Kumar <vireshk@xxxxxxxxxx> Cc: Yang, Bin <bin.yang@xxxxxxxxx> Cc: Zhu, Lejun <lejun.zhu@xxxxxxxxxxxxxxx> Cc: linux-omap@xxxxxxxxxxxxxxx Cc: linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx Paul Gortmaker (18): mfd: stmpe-spi: Make it explicitly non-modular mfd: stmpe-i2c: Make it explicitly non-modular mfd: ezx-pcap: Make it explicitly non-modular mfd: 88pm860x-*: Make it explicitly non-modular mfd: tc3589: Make it explicitly non-modular mfd: tc6387xb: Make it explicitly non-modular mfd: tc6393xb: Make it explicitly non-modular mfd: twl4030-audio: Make it explicitly non-modular mfd: twl4030-power: Make it explicitly non-modular mfd: twl6040: Make it explicitly non-modular mfd: t7l66xb: Make it explicitly non-modular mfd: lp8788: Make it explicitly non-modular mfd: menelaus: Make it explicitly non-modular mfd: tps6586x: Make it explicitly non-modular mfd: omap-usb-tll: Make it explicitly non-modular mfd: omap-usb-host: Make it explicitly non-modular mfd: palmas: Make it explicitly non-modular mfd: intel_soc_pmic_core: Make it explicitly non-modular drivers/mfd/88pm860x-core.c | 40 ++------------------------------- drivers/mfd/88pm860x-i2c.c | 1 - drivers/mfd/ezx-pcap.c | 42 +++------------------------------- drivers/mfd/intel_soc_pmic_core.c | 31 +++----------------------- drivers/mfd/lp8788.c | 24 ++------------------ drivers/mfd/menelaus.c | 24 ++++---------------- drivers/mfd/omap-usb-host.c | 47 +++++---------------------------------- drivers/mfd/omap-usb-tll.c | 47 ++++----------------------------------- drivers/mfd/palmas.c | 36 +----------------------------- drivers/mfd/stmpe-i2c.c | 23 ++----------------- drivers/mfd/stmpe-spi.c | 23 ++----------------- drivers/mfd/stmpe.c | 14 ------------ drivers/mfd/stmpe.h | 1 - drivers/mfd/t7l66xb.c | 37 ++++-------------------------- drivers/mfd/tc3589x.c | 26 ++-------------------- drivers/mfd/tc6387xb.c | 30 ++++--------------------- drivers/mfd/tc6393xb.c | 43 ++--------------------------------- drivers/mfd/tps6586x.c | 26 ++-------------------- drivers/mfd/twl4030-audio.c | 21 +++-------------- drivers/mfd/twl4030-power.c | 19 +++------------- drivers/mfd/twl6040.c | 29 +++--------------------- 21 files changed, 51 insertions(+), 533 deletions(-) -- 2.7.4