From: "Benno Lossin" <lossin@kernel.org>
To: "FUJITA Tomonori" <fujita.tomonori@gmail.com>
Cc: <ansuelsmth@gmail.com>, <andrew+netdev@lunn.ch>,
<davem@davemloft.net>, <edumazet@google.com>, <kuba@kernel.org>,
<pabeni@redhat.com>, <robh@kernel.org>, <krzk+dt@kernel.org>,
<conor+dt@kernel.org>, <hkallweit1@gmail.com>,
<linux@armlinux.org.uk>, <florian.fainelli@broadcom.com>,
<bcm-kernel-feedback-list@broadcom.com>, <kabel@kernel.org>,
<andrei.botila@oss.nxp.com>, <tmgross@umich.edu>,
<ojeda@kernel.org>, <alex.gaynor@gmail.com>,
<boqun.feng@gmail.com>, <gary@garyguo.net>,
<bjorn3_gh@protonmail.com>, <benno.lossin@proton.me>,
<a.hindborg@kernel.org>, <aliceryhl@google.com>,
<dakr@kernel.org>, <sd@queasysnail.net>, <michael@fossekall.de>,
<daniel@makrotopia.org>, <netdev@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<rust-for-linux@vger.kernel.org>
Subject: Re: [net-next PATCH v10 7/7] rust: net::phy sync with match_phy_device C changes
Date: Mon, 19 May 2025 14:51:55 +0200 [thread overview]
Message-ID: <DA05GA6QUD1R.1XR0GFPLNXPTQ@kernel.org> (raw)
In-Reply-To: <20250519.214449.1761137544422192991.fujita.tomonori@gmail.com>
On Mon May 19, 2025 at 2:44 PM CEST, FUJITA Tomonori wrote:
> On Mon, 19 May 2025 14:32:44 +0200
> "Benno Lossin" <lossin@kernel.org> wrote:
>>>>> The other use case, as mentioned above, is when using the generic helper
>>>>> function inside match_phy_device() callback. For example, the 4th
>>>>> patch in this patchset adds genphy_match_phy_device():
>>>>>
>>>>> int genphy_match_phy_device(struct phy_device *phydev,
>>>>> const struct phy_driver *phydrv)
>>>>>
>>>>> We could add a wrapper for this function as phy::Device's method like
>>>>>
>>>>> impl Device {
>>>>> ...
>>>>> pub fn genphy_match_phy_device(&self, drv: &phy::DriverVTable) -> i32
>>>>
>>>> Not sure why this returns an `i32`, but we probably could have such a
>>>
>>> Maybe a bool would be more appropriate here because the C's comment
>>> says:
>>>
>>> Return: 1 if the PHY device matches the driver, 0 otherwise.
>>>
>>>> function as well (though I wouldn't use the vtable for that).
>>>
>>> What would you use instead?
>>
>> The concept that I sketched above:
>>
>> impl Device {
>> fn genphy_match_phy_device<T: Driver>(&self) -> bool {
>> self.phy_id() == T::PHY_DEVICE_ID.id
>> }
>> }
>
> I think there might be a misunderstanding.
>
> Rust's genphy_match_phy_device() is supposed to be a wrapper for C's
> genphy_match_phy_device():
>
> https://lore.kernel.org/rust-for-linux/20250517201353.5137-5-ansuelsmth@gmail.com/
Oh yeah you're right. But using `DriverVTable` for that doesn't sound
nice...
---
Cheers,
Benno
next prev parent reply other threads:[~2025-05-19 12:52 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-15 11:27 [net-next PATCH v10 0/7] net: phy: Add support for new Aeonsemi PHYs Christian Marangi
2025-05-15 11:27 ` [net-next PATCH v10 1/7] net: phy: pass PHY driver to .match_phy_device OP Christian Marangi
2025-05-15 11:27 ` [net-next PATCH v10 2/7] net: phy: bcm87xx: simplify " Christian Marangi
2025-05-15 11:27 ` [net-next PATCH v10 3/7] net: phy: nxp-c45-tja11xx: " Christian Marangi
2025-05-15 11:27 ` [net-next PATCH v10 4/7] net: phy: introduce genphy_match_phy_device() Christian Marangi
2025-05-15 11:27 ` [net-next PATCH v10 5/7] net: phy: Add support for Aeonsemi AS21xxx PHYs Christian Marangi
2025-05-15 11:27 ` [net-next PATCH v10 6/7] dt-bindings: net: Document support for Aeonsemi PHYs Christian Marangi
2025-05-15 11:27 ` [net-next PATCH v10 7/7] rust: net::phy sync with match_phy_device C changes Christian Marangi
2025-05-15 11:49 ` Benno Lossin
2025-05-15 11:51 ` Christian Marangi
2025-05-15 12:01 ` Benno Lossin
2025-05-16 11:56 ` kernel test robot
2025-05-16 12:30 ` FUJITA Tomonori
2025-05-16 14:48 ` Benno Lossin
2025-05-16 15:12 ` Christian Marangi
2025-05-16 20:16 ` Benno Lossin
2025-05-17 6:27 ` FUJITA Tomonori
2025-05-17 8:06 ` Benno Lossin
2025-05-17 13:13 ` FUJITA Tomonori
2025-05-17 19:02 ` Benno Lossin
2025-05-17 20:09 ` Christian Marangi
2025-05-18 7:13 ` Benno Lossin
2025-05-19 12:00 ` FUJITA Tomonori
2025-05-19 12:32 ` Benno Lossin
2025-05-19 12:44 ` FUJITA Tomonori
2025-05-19 12:51 ` Benno Lossin [this message]
2025-05-19 12:58 ` FUJITA Tomonori
2025-05-16 15:10 ` Christian Marangi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DA05GA6QUD1R.1XR0GFPLNXPTQ@kernel.org \
--to=lossin@kernel.org \
--cc=a.hindborg@kernel.org \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=andrei.botila@oss.nxp.com \
--cc=andrew+netdev@lunn.ch \
--cc=ansuelsmth@gmail.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=conor+dt@kernel.org \
--cc=dakr@kernel.org \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=florian.fainelli@broadcom.com \
--cc=fujita.tomonori@gmail.com \
--cc=gary@garyguo.net \
--cc=hkallweit1@gmail.com \
--cc=kabel@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=michael@fossekall.de \
--cc=netdev@vger.kernel.org \
--cc=ojeda@kernel.org \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=sd@queasysnail.net \
--cc=tmgross@umich.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.