On Tue, Jun 24, 2025 at 10:48:57PM +0900, Alexandre Courbot wrote: > On Tue Jun 24, 2025 at 10:23 PM JST, Danilo Krummrich wrote: > > Implement From for u32 for all enum types used within the register!() > > macro. > > > > This avoids a conflict with [1] as reported in [2]. > > > > Cc: Alexandre Courbot <[email protected]> > > Cc: Miguel Ojeda <[email protected]> > > Link: > > https://lore.kernel.org/r/[email protected] > > [1] > > Link: https://lore.kernel.org/all/[email protected]/ > > [2] > > Signed-off-by: Danilo Krummrich <[email protected]> > > Reviewed-by: Alexandre Courbot <[email protected]> > > Also confirmed that Ampere still successfully probed with this: > > Tested-by: Alexandre Courbot <[email protected]> > > One small comment and question below. > > > --- > > drivers/gpu/nova-core/falcon.rs | 18 ++++++++++++++++++ > > 1 file changed, 18 insertions(+) > > > > diff --git a/drivers/gpu/nova-core/falcon.rs > > b/drivers/gpu/nova-core/falcon.rs > > index 07be1c30668c..1affffb109ec 100644 > > --- a/drivers/gpu/nova-core/falcon.rs > > +++ b/drivers/gpu/nova-core/falcon.rs > > @@ -20,6 +20,16 @@ > > mod hal; > > pub(crate) mod sec2; > > > > +macro_rules! impl_from_enum_to_u32 { > > + ($enum_type:ty) => { > > + impl From<$enum_type> for u32 { > > + fn from(value: $enum_type) -> Self { > > + value as u32 > > + } > > + } > > + }; > > +} > > We might need some equivalent in other modules as well in the future - > do you think we should move it to the root of the driver, and explain > its purpose with a comment?
Let's do that once we need it in other modules. > I am also thinking that we might want to turn this into a derive macro > in the future, similar to `FromPrimitive` - so maybe a TODO item is > warranted for this. I haven't looked closely at the `FromPrimitive` > patchset yet but it would be neat if we could leverage it somehow. This sounds exactly like what IntoPrimitive does. So, yes, I can add a comment to replace the macro with IntoPrimitive in the future.
