Re: [PATCH v6 3/6] rust: irq: add support for non-threaded IRQs and handlers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux