On Tue Jun 2, 2026 at 2:00 AM JST, Miguel Ojeda wrote: > On Mon, Jun 1, 2026 at 3:50 PM Miguel Ojeda > <[email protected]> wrote: >> >> By the way, I think a `.gitignore` entry for the generated header is missing. > > A few other notes: > > - The `exports` rule' `awk` filtering is stricter than the one we > normally use -- it is fine if you don't need `static`s etc., but I > will likely export `T|R|D|B` when I replace it, not just `T`.
If I include all 4 (I tried to align more with `rust/Makefile`), then I get the following warnings: WARNING: modpost: drivers/gpu/nova-core: _RNvNtNtCs6PUMngfe6Jo_9nova_core13___module_init13___module_init37___UNIQUE_ID___addressable_init_module: EXPORT_SYMBOL used for init symbol. Remove __init or EXPORT_SYMBOL. WARNING: modpost: drivers/gpu/nova-core: _RNvNtNtCs6PUMngfe6Jo_9nova_core13___module_init13___module_init40___UNIQUE_ID___addressable_cleanup_module: EXPORT_SYMBOL used for exit symbol. Remove __exit or EXPORT_SYMBOL. So I've added an extra filter and it seems to work now. > - Similarly, you don't use `EXPORT_SYMBOL_RUST_GPL` and the "dummy > symbol" is a function instead of the simple `int`. Is there a reason > for that? i.e. the ones you want to export are functions, but using > the global one (even defining `EXPORT_SYMBOL_RUST_GPL` the same way) > would reduce the divergence (so one less thing to think about later > when I replace it). No reason in particular. Here as well I have tried to align with `rust/Makefile`. > > - I noticed touching `nova-core` and then running a build twice will > only build `nova-drm.ko` the second time -- you may want to use > `--extern nova_core -L $(objtree)/...` like we do in `rust/Makefile` > instead of giving an explicit path to `--extern`. Yes, getting the order right is a bit difficult. Moving everything under `drivers/gpu/Makefile` solves this, thankfully.
