Re: [PATCH v3 0/5] gpu: drm: nova: enable calling into nova-core
From: Alexandre Courbot
Date: Fri Jun 05 2026 - 03:52:12 EST
On Tue Jun 2, 2026 at 2:00 AM JST, Miguel Ojeda wrote:
> On Mon, Jun 1, 2026 at 3:50 PM Miguel Ojeda
> <miguel.ojeda.sandonis@xxxxxxxxx> 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.