From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: gpu: nova-core: convert Gsp::new() to use CoherentInit Date: Wed, 04 Mar 2026 07:03:03 +1000 Message-ID: In-Reply-To: <20260303162314.94363-8-dakr@kernel.org> References: <20260303162314.94363-1-dakr@kernel.org> <20260303162314.94363-8-dakr@kernel.org> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Patch Review This patch has the most complex changes in terms of initialization ordering. **Field ordering in `try_pin_init!`**: `rmargs` is now initialized before `libos`, so that `libos.init_at(3, ...)` can reference `rmargs`'s DMA handle. This is correct because `try_pin_init!` evaluates fields top-to-bottom and makes earlier field bindings available to later expressions. **The comment about logging structures** is moved from inside the `_:` block to above the `try_pin_init!` call, which is appropriate since the `_:` escape hatch is no longer needed. **`MessageQueueInitArguments` change**: The type alias `type MessageQueueInitArguments = bindings::MESSAGE_QUEUE_INIT_ARGUMENTS;` plus an `impl` block on it is unusual but valid in Rust (you can impl traits/methods on type aliases to foreign types within the same crate). The `#[allow(non_snake_case)]` on the `new` function is needed because the `init!` macro references fields like `sharedMemPhysAddr`. No functional issues. --- Generated by Claude Code Patch Reviewer