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: separate driver type from driver data Date: Wed, 27 May 2026 15:28:23 +1000 Message-ID: In-Reply-To: <20260525225838.276108-6-dakr@kernel.org> References: <20260525225838.276108-1-dakr@kernel.org> <20260525225838.276108-6-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 splits `NovaDriver` into a unit struct (for trait impls) and a new `Nova` struct (for driver data), enabling the `Data` GAT to be lifetime-parameterized in the future. ```rust -pub(crate) struct NovaDriver { +pub(crate) struct NovaDriver; + +pub(crate) struct Nova { #[expect(unused)] - drm: ARef>, + drm: ARef>, } ``` The `Self` in `ARef>` correctly becomes `NovaDriver` since the field is now on `Nova`, not `NovaDriver`. ```rust - type Data<'bound> = Self; + type Data<'bound> = Nova; ``` And the probe return type changes: ```rust - ) -> impl PinInit + 'bound { + ) -> impl PinInit, Error> + 'bound { ``` With: ```rust - Ok(Self { drm }) + Ok(Nova { drm }) ``` This is clean. Note the `Data` type uses a GAT with `'bound` which already appears in the base code (from the prerequisite series). The separation is a standard Rust pattern to allow the data type to carry lifetimes that the driver trait impl type cannot. **Minor nit:** The existing `Convienence` typo in the doc comment (line 860/`NovaDevice` type alias) is pre-existing and not introduced by this patch. No issues found. --- Generated by Claude Code Patch Reviewer