On 21/07/2020 17:45, Jakub Kicinski wrote: > On Tue, 21 Jul 2020 15:48:00 +0100 Edward Cree wrote: >> Aaaaargh; does anyone have any bright ideas? > No bright ideas. Why do you want the driver to be modular in the first > place? Well, 'sfc' already is, and I'm not sure changing that is an option (wouldn't it break users' scripts?). And I find development is a lot easier if you can just rebuild a module and reload it rather than having to wait for LD to put together a whole new vmlinux.
> Maybe I'm wrong, but I've never seen a reason to break up vendor drivers > for high performance NICs into multiple modules. So, what are you suggesting? 1) both drivers are builtin-only 2) a single module containing both drivers 3) something else? Both (1) and (2) would allow replacing the linker trick with an if() on efx->revision or an efx->type-> function with INDIRECT_CALLABLE. I don't know for sure but I suspect we made the drivers separate modules simply because we could (or so we thought) and we didn't know for certain no-one would ever want the extra flexibility. I'll ask around and see if there's any reason we can't do (2). -ed