[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aF-83Tb4-Sxz_KFk@pollux>
Date: Sat, 28 Jun 2025 11:58:53 +0200
From: Danilo Krummrich <dakr@...nel.org>
To: Benno Lossin <lossin@...nel.org>
Cc: Boqun Feng <boqun.feng@...il.com>, gregkh@...uxfoundation.org,
rafael@...nel.org, ojeda@...nel.org, alex.gaynor@...il.com,
gary@...yguo.net, bjorn3_gh@...tonmail.com, a.hindborg@...nel.org,
aliceryhl@...gle.com, tmgross@...ch.edu, david.m.ertman@...el.com,
ira.weiny@...el.com, leon@...nel.org, kwilczynski@...nel.org,
bhelgaas@...gle.com, rust-for-linux@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org
Subject: Re: [PATCH v4 5/5] rust: devres: implement register_release()
On Sat, Jun 28, 2025 at 09:53:06AM +0200, Benno Lossin wrote:
> Hmm @Danilo, do you have any use-cases in mind or already done?
There may be other use-cases, but the one that I could forsee is very specific:
A Registration type that carries additional reference-counted data, where the
Registration should be released exactly when the device is unbound, independent
of the lifetime of the data.
Obviously, this implies that the ForeignOwnable is an Arc.
With KBox, Release and Drop are pretty much identical, so using
devres::release() instead, is much simpler and hence what we do for all simple
class device registrations.
Besides that, the use-case described above can also be covered by Devres with
the pin-init rework, by having the Registration embed a Devres<Inner>, which
is what irq::Registration does and I also do in the MiscDeviceRegistration
patches.
Hence, I already considered dropping this patch -- and I think we should do this
for now.
Powered by blists - more mailing lists