* [PATCH 2/2] device: rust: change the name function
@ 2024-09-29 13:38 Guilherme Giácomo Simões
2024-09-30 11:35 ` gregkh
0 siblings, 1 reply; 5+ messages in thread
From: Guilherme Giácomo Simões @ 2024-09-29 13:38 UTC (permalink / raw)
To: gregkh@linuxfoundation.org, rafael, ojeda, alex.gaynor,
boqun.feng, gary, bjorn3_gh, benno.lossin, aliceryhl, mcgrof,
russ.weight, dakr, a.hindborg
Cc: rust-for-linux, linux-kernel, Guilherme Giácomo Simões
This function increments the refcount by this command
"bindings::get_device(prt)"
This can be confused because the function Arc::from_raw() from
standard library, doesn't
increment the refcount.
Then, this function "Device::from_raw()" will be renamed for don't
make confusion
in the future.
Signed-off-by: Guilherme Giacomo Simoes <trintaeoitogc@gmail.com>
---
rust/kernel/device.rs | 2 +-
rust/kernel/firmware.rs | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/rust/kernel/device.rs b/rust/kernel/device.rs
index 851018eef885..ecffaff041e0 100644
--- a/rust/kernel/device.rs
+++ b/rust/kernel/device.rs
@@ -51,7 +51,7 @@ impl Device {
///
/// It must also be ensured that `bindings::device::release` can
be called from any thread.
/// While not officially documented, this should be the case for
any `struct device`.
- pub unsafe fn from_raw(ptr: *mut bindings::device) -> ARef<Self> {
+ pub unsafe fn get_device(ptr: *mut bindings::device) -> ARef<Self> {
// SAFETY: By the safety requirements, ptr is valid.
// Initially increase the reference count by one to
compensate for the final decrement once
// this newly created `ARef<Device>` instance is dropped.
diff --git a/rust/kernel/firmware.rs b/rust/kernel/firmware.rs
index dee5b4b18aec..13a374a5cdb7 100644
--- a/rust/kernel/firmware.rs
+++ b/rust/kernel/firmware.rs
@@ -44,7 +44,7 @@ fn request_nowarn() -> Self {
///
/// # fn no_run() -> Result<(), Error> {
/// # // SAFETY: *NOT* safe, just for the example to get an
`ARef<Device>` instance
-/// # let dev = unsafe { Device::from_raw(core::ptr::null_mut()) };
+/// # let dev = unsafe { Device::get_device(core::ptr::null_mut()) };
///
/// let fw = Firmware::request(c_str!("path/to/firmware.bin"), &dev)?;
/// let blob = fw.data();
--
2.46.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH 2/2] device: rust: change the name function
2024-09-29 13:38 [PATCH 2/2] device: rust: change the name function Guilherme Giácomo Simões
@ 2024-09-30 11:35 ` gregkh
2024-09-30 11:50 ` Guilherme Giácomo Simões
2024-09-30 12:11 ` Danilo Krummrich
0 siblings, 2 replies; 5+ messages in thread
From: gregkh @ 2024-09-30 11:35 UTC (permalink / raw)
To: Guilherme Giácomo Simões
Cc: rafael, ojeda, alex.gaynor, boqun.feng, gary, bjorn3_gh,
benno.lossin, aliceryhl, mcgrof, russ.weight, dakr, a.hindborg,
rust-for-linux, linux-kernel
On Sun, Sep 29, 2024 at 10:38:47AM -0300, Guilherme Giácomo Simões wrote:
> This function increments the refcount by this command
> "bindings::get_device(prt)"
> This can be confused because the function Arc::from_raw() from
> standard library, doesn't
> increment the refcount.
> Then, this function "Device::from_raw()" will be renamed for don't
> make confusion
> in the future.
Please wrap the lines here properly so they show up in a sane way :)
>
> Signed-off-by: Guilherme Giacomo Simoes <trintaeoitogc@gmail.com>
> ---
> rust/kernel/device.rs | 2 +-
> rust/kernel/firmware.rs | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/rust/kernel/device.rs b/rust/kernel/device.rs
> index 851018eef885..ecffaff041e0 100644
> --- a/rust/kernel/device.rs
> +++ b/rust/kernel/device.rs
> @@ -51,7 +51,7 @@ impl Device {
> ///
> /// It must also be ensured that `bindings::device::release` can
> be called from any thread.
Your patch is line-wrapped and can not be applied :(
Please read the email documentation in the kernel for how to use gmail
to send patches out (hint, almost never do so, but you can use git
send-email through it), that will help you in sending changes that can
be applied.
> /// While not officially documented, this should be the case for
> any `struct device`.
> - pub unsafe fn from_raw(ptr: *mut bindings::device) -> ARef<Self> {
> + pub unsafe fn get_device(ptr: *mut bindings::device) -> ARef<Self> {
With this change, nothing broke? Does nothing call this code yet? I
thought the firmware interface did that, but I could be wrong...
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 2/2] device: rust: change the name function
2024-09-30 11:35 ` gregkh
@ 2024-09-30 11:50 ` Guilherme Giácomo Simões
2024-09-30 12:11 ` Danilo Krummrich
1 sibling, 0 replies; 5+ messages in thread
From: Guilherme Giácomo Simões @ 2024-09-30 11:50 UTC (permalink / raw)
To: gregkh@linuxfoundation.org
Cc: rafael, ojeda, alex.gaynor, boqun.feng, gary, bjorn3_gh,
benno.lossin, aliceryhl, mcgrof, russ.weight, dakr, a.hindborg,
rust-for-linux, linux-kernel
gregkh@linuxfoundation.org <gregkh@linuxfoundation.org> writes:
>
> On Sun, Sep 29, 2024 at 10:38:47AM -0300, Guilherme Giácomo Simões wrote:
> > This function increments the refcount by this command
> > "bindings::get_device(prt)"
> > This can be confused because the function Arc::from_raw() from
> > standard library, doesn't
> > increment the refcount.
> > Then, this function "Device::from_raw()" will be renamed for don't
> > make confusion
> > in the future.
>
> Please wrap the lines here properly so they show up in a sane way :)
>
> >
> > Signed-off-by: Guilherme Giacomo Simoes <trintaeoitogc@gmail.com>
> > ---
> > rust/kernel/device.rs | 2 +-
> > rust/kernel/firmware.rs | 2 +-
> > 2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/rust/kernel/device.rs b/rust/kernel/device.rs
> > index 851018eef885..ecffaff041e0 100644
> > --- a/rust/kernel/device.rs
> > +++ b/rust/kernel/device.rs
> > @@ -51,7 +51,7 @@ impl Device {
> > ///
> > /// It must also be ensured that `bindings::device::release` can
> > be called from any thread.
>
> Your patch is line-wrapped and can not be applied :(
>
> Please read the email documentation in the kernel for how to use gmail
> to send patches out (hint, almost never do so, but you can use git
> send-email through it), that will help you in sending changes that can
> be applied.
So, I really send the patch with gmail. But, I make this because my
git send-email have any bug and I don't fix this.
I'll see what's happening with my send-email and send the next patch through it.
>
> > /// While not officially documented, this should be the case for
> > any `struct device`.
> > - pub unsafe fn from_raw(ptr: *mut bindings::device) -> ARef<Self> {
> > + pub unsafe fn get_device(ptr: *mut bindings::device) -> ARef<Self> {
>
> With this change, nothing broke? Does nothing call this code yet? I
> thought the firmware interface did that, but I could be wrong...
>
> thanks,
>
> greg k-h
This change don't broke nothing. The Device::from_raw() don't is used
yet. The firmware only have a Documentation for calling the
Device::from_raw()
and I change this Doc too.
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 2/2] device: rust: change the name function
2024-09-30 11:35 ` gregkh
2024-09-30 11:50 ` Guilherme Giácomo Simões
@ 2024-09-30 12:11 ` Danilo Krummrich
2024-09-30 12:28 ` gregkh
1 sibling, 1 reply; 5+ messages in thread
From: Danilo Krummrich @ 2024-09-30 12:11 UTC (permalink / raw)
To: gregkh@linuxfoundation.org
Cc: Guilherme Giácomo Simões, rafael, ojeda, alex.gaynor,
boqun.feng, gary, bjorn3_gh, benno.lossin, aliceryhl, mcgrof,
russ.weight, dakr, a.hindborg, rust-for-linux, linux-kernel
On Mon, Sep 30, 2024 at 01:35:09PM +0200, gregkh@linuxfoundation.org wrote:
>
> > /// While not officially documented, this should be the case for
> > any `struct device`.
> > - pub unsafe fn from_raw(ptr: *mut bindings::device) -> ARef<Self> {
> > + pub unsafe fn get_device(ptr: *mut bindings::device) -> ARef<Self> {
>
> With this change, nothing broke? Does nothing call this code yet? I
> thought the firmware interface did that, but I could be wrong...
The firmware code uses the `Device` structure, but it doesn't create a
reference from a raw pointer.
This function should probably only ever be called from bus abstractions. I
thought the PHY layer needed this urgently (which also was the reason we merged
it already), so I'd expect the PHY code to use it.
Though, they might just use `as_ref`.
- Danilo
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 2/2] device: rust: change the name function
2024-09-30 12:11 ` Danilo Krummrich
@ 2024-09-30 12:28 ` gregkh
0 siblings, 0 replies; 5+ messages in thread
From: gregkh @ 2024-09-30 12:28 UTC (permalink / raw)
To: Danilo Krummrich
Cc: Guilherme Giácomo Simões, rafael, ojeda, alex.gaynor,
boqun.feng, gary, bjorn3_gh, benno.lossin, aliceryhl, mcgrof,
russ.weight, dakr, a.hindborg, rust-for-linux, linux-kernel
On Mon, Sep 30, 2024 at 02:11:37PM +0200, Danilo Krummrich wrote:
> On Mon, Sep 30, 2024 at 01:35:09PM +0200, gregkh@linuxfoundation.org wrote:
> >
> > > /// While not officially documented, this should be the case for
> > > any `struct device`.
> > > - pub unsafe fn from_raw(ptr: *mut bindings::device) -> ARef<Self> {
> > > + pub unsafe fn get_device(ptr: *mut bindings::device) -> ARef<Self> {
> >
> > With this change, nothing broke? Does nothing call this code yet? I
> > thought the firmware interface did that, but I could be wrong...
>
> The firmware code uses the `Device` structure, but it doesn't create a
> reference from a raw pointer.
>
> This function should probably only ever be called from bus abstractions. I
> thought the PHY layer needed this urgently (which also was the reason we merged
> it already), so I'd expect the PHY code to use it.
>
> Though, they might just use `as_ref`.
Ah, then no harm in renaming it now, great!
When it's resent in a way we can apply it, I'll be glad to queue it up.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-09-30 12:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-29 13:38 [PATCH 2/2] device: rust: change the name function Guilherme Giácomo Simões
2024-09-30 11:35 ` gregkh
2024-09-30 11:50 ` Guilherme Giácomo Simões
2024-09-30 12:11 ` Danilo Krummrich
2024-09-30 12:28 ` gregkh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).