On Thu, Jul 03, 2025 at 04:30:03PM -0300, Daniel Almeida wrote: > +impl Device<Bound> { > + /// Returns an [`IrqRequest`] for the IRQ at the given index, if any. > + pub fn request_irq_by_index(&self, index: u32) -> Result<IrqRequest<'_>> { > + // SAFETY: `self.as_raw` returns a valid pointer to a `struct platform_device`. > + let irq = unsafe { bindings::platform_get_irq(self.as_raw(), index) }; > + > + if irq < 0 { > + return Err(Error::from_errno(irq)); > + } > + > + // SAFETY: `irq` is guaranteed to be a valid IRQ number for `&self`. > + Ok(unsafe { IrqRequest::new(self.as_ref(), irq as u32) }) > + } Sorry that I didn't notice that before: Please just name the functions returning an IrqRequest e.g. irq_by_index(), without the 'request' prefix. And instead put the 'request' prefix in front of the methods that return a actual irq::Registration. This is more in line with the C functions being named request_irq() and request_threaded_irq().