[PATCH v18 6/6] ARM: socfpga: fpga bridge driver support
From: atull <hidden>
Date: 2016-09-22 23:30:33
Also in:
linux-devicetree, lkml
On Tue, 9 Aug 2016, Paul Gortmaker wrote:
[Re: [PATCH v18 6/6] ARM: socfpga: fpga bridge driver support] On 08/08/2016 (Mon 13:44) Moritz Fischer wrote:quoted
Hi Alan, On Mon, Aug 8, 2016 at 12:18 PM, atull [off-list ref] wrote:quoted
quoted
Please don't use module.h in drivers controlled by a bool Kconfig setting. THanks, Paul.Thanks for the feedback. Can you provide an example of what you would consider to be proper usage in the kernel?I think Paul is suggesting to use static int __init alt_fpga_bridge_init(void) { platform_driver_register(&alt_fpga_bridge_driver); } device_initcall(alt_fpga_bridge_init); or better: builtin_platform_driver(&alt_fpga_bridge_driver); Like for example in: drivers/cpuidle/cpuidle-mvebu-v7.cYes, pretty much that -- if you have a bool Kconfig, you should be using builtin registration functions, and have no need for module.h or anything MODULE_<xyz> or any module_init/module_exit calls. An empty file containing nothing but #include <linux/module.h> will cause cpp to emit about 750k of goop, so we really should only be using it for drivers that are genuinely modular; i.e. tristate Kconfig. Thanks, Paul. --quoted
Cheers, Moritz
Thanks for the feedback and explanations! I've retested my stuff with it all built as modules (mgr, bridged, and fpga-region) and it all works that way as well as built in. So I'll fix up the Kconfig as tristates for everybody. Also I'll add some dependencies as FPGA_REGION should be dependent on FPGA_BRIDGE. Alan