On Fri, Jun 27, 2025 at 09:10:22PM +0200, Danilo Krummrich wrote: > On Fri, Jun 27, 2025 at 01:21:07PM -0300, Daniel Almeida wrote: > > +macro_rules! define_irq_accessor_by_index { > > + ($(#[$meta:meta])* $fn_name:ident, $request_fn:ident, $reg_type:ident, $handler_trait:ident) => { > > + $(#[$meta])* > > + pub fn $fn_name<T: irq::$handler_trait + 'static>( > > + &self, > > + index: u32, > > + flags: irq::flags::Flags, > > + name: &'static CStr, > > + handler: T, > > + ) -> Result<impl PinInit<irq::$reg_type<T>, Error> + '_> { > > + let request = self.$request_fn(index)?; > > + > > + Ok(irq::$reg_type::<T>::new( > > + request, > > + flags, > > + name, > > + handler, > > + )) > > + } > > + }; > > +} > > + > > +macro_rules! define_irq_accessor_by_name { > > + ($(#[$meta:meta])* $fn_name:ident, $request_fn:ident, $reg_type:ident, $handler_trait:ident) => { > > + $(#[$meta])* > > + pub fn $fn_name<T: irq::$handler_trait + 'static>( > > + &self, > > + irq_name: &'static CStr, > > + name: &'static CStr, > > + flags: irq::flags::Flags, > > + handler: T, > > + ) -> Result<impl PinInit<irq::$reg_type<T>, Error> + '_> { > > + let request = self.$request_fn(irq_name)?; > > + > > + Ok(irq::$reg_type::<T>::new( > > + request, > > + flags, > > + name, > > + handler, > > + )) > > + } > > + }; > > +} > > NIT: Please make the order of name and flags the same for both macros. Ideally, first flags, then name, since this is the order used everywhere else.