From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: rust: pci: make Bar lifetime-parameterized Date: Tue, 28 Apr 2026 13:47:58 +1000 Message-ID: In-Reply-To: <20260427221155.2144848-19-dakr@kernel.org> References: <20260427221155.2144848-1-dakr@kernel.org> <20260427221155.2144848-19-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 `Bar` becomes `Bar<'a, SIZE>` storing `&'a Device` instead of `ARef`. The `into_devres()` method: ```rust pub fn into_devres(self) -> Result>> { let bar: Bar<'static, SIZE> = unsafe { core::mem::transmute(self) }; let pdev = bar.pdev; Devres::new(pdev.as_ref(), bar) } ``` The lifetime erasure to `'static` is sound because `Devres` revokes access on unbind. Note that after transmute, `bar.pdev` is used to get the device reference for `Devres::new` -- this works because the device pointer itself remains valid. The return type change from `impl PinInit>, Error>` to `Result>` is a clean simplification. --- Generated by Claude Code Patch Reviewer