Hi, > >>> >>> (2) It is guaranteed that the device pointer is valid because (1) guarantees >>> it's even bound and because Devres<RegistrationInner> itself has a >>> reference count. >> >> Yeah but I would find it much more natural (and also useful in other >> circumstances) if `Devres<T>` would give you access to `Device` (at >> least the `Normal` type state). > > If we use container_of!() instead or just pass the address of Self (i.e. > Registration) to request_irq() instead, Boqun, Benno, are you ok with passing the address of Registration<T> as the cookie? Recall that this was a change requested in v4, so I am checking whether we are all on the same page before going back to that. See [0], i.e.: > > > >> Well yes and no, with the Devres changes, the `cookie` can just be the > > > >> address of the `RegistrationInner` & we can do it this way :) > > > >> > > > >> --- > > > >> Cheers, > > > >> Benno > > > > > > > > > > > > No, we need this to be the address of the the whole thing (i.e. > > > > Registration<T>), otherwise you can’t access the handler in the irq > > > > callback. > > You only need the access of `handler` in the irq callback, right? I.e. > passing the address of `handler` would suffice (of course you need > to change the irq callback as well). — Daniel [0] https://lore.kernel.org/all/aFq3P_4XgP0dUrAS@xxxxxxxx/