All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/3] Rust abstractions for network PHY drivers
@ 2023-10-02  8:52 FUJITA Tomonori
  2023-10-02  8:53 ` [PATCH v1 1/3] rust: core " FUJITA Tomonori
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: FUJITA Tomonori @ 2023-10-02  8:52 UTC (permalink / raw)
  To: netdev; +Cc: rust-for-linux, andrew, miguel.ojeda.sandonis

This patchset adds Rust abstractions for network PHY drivers. It
doesn't fully cover the C APIs for PHY drivers yet but I think that
it's already useful. I implement two PHY drivers (Asix AX88772A PHYs
and Realtek Generic FE-GE). Seems they work well with real hardware.

The first patch introduces Rust bindings for the C APIs for network
PHY drivers.

The second patch adds the bindings to the ETHERNET PHY LIBRARY, and
also me as a maintainer of the Rust bindings (as Andrew Lunn
suggested).

The last patch introduces the Rust version of Asix PHY drivers,
drivers/net/phy/ax88796b.c. The features are equivalent to the C
version. You can choose C (by default) or Rust version on kernel
configuration.

You can find discussions on the RFC patches at rust-for-linux ml:

v1:
https://lwn.net/ml/rust-for-linux/20230913133609.1668758-1-fujita.tomonori@gmail.com/
v2:
https://lwn.net/ml/rust-for-linux/20230924064902.1339662-1-fujita.tomonori@gmail.com/
v3:
https://lwn.net/ml/rust-for-linux/20230928225518.2197768-1-fujita.tomonori@gmail.com/


FUJITA Tomonori (3):
  rust: core abstractions for network PHY drivers
  MAINTAINERS: add Rust PHY abstractions to the ETHERNET PHY LIBRARY
  net: phy: add Rust Asix PHY driver

 MAINTAINERS                      |   2 +
 drivers/net/phy/Kconfig          |   7 +
 drivers/net/phy/Makefile         |   6 +-
 drivers/net/phy/ax88796b_rust.rs | 129 ++++++
 rust/Makefile                    |   1 +
 rust/bindings/bindings_helper.h  |   3 +
 rust/kernel/lib.rs               |   3 +
 rust/kernel/net.rs               |   6 +
 rust/kernel/net/phy.rs           | 706 +++++++++++++++++++++++++++++++
 rust/uapi/uapi_helper.h          |   1 +
 10 files changed, 863 insertions(+), 1 deletion(-)
 create mode 100644 drivers/net/phy/ax88796b_rust.rs
 create mode 100644 rust/kernel/net.rs
 create mode 100644 rust/kernel/net/phy.rs


base-commit: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d
-- 
2.34.1


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-10-03 23:46 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-02  8:52 [PATCH v1 0/3] Rust abstractions for network PHY drivers FUJITA Tomonori
2023-10-02  8:53 ` [PATCH v1 1/3] rust: core " FUJITA Tomonori
2023-10-02  9:14   ` Greg KH
2023-10-02 14:52   ` Andrew Lunn
2023-10-03  0:33     ` FUJITA Tomonori
2023-10-03  1:40       ` Andrew Lunn
2023-10-03  3:43         ` FUJITA Tomonori
2023-10-03  6:31           ` Greg KH
2023-10-03  6:40             ` FUJITA Tomonori
2023-10-03 12:45               ` Andrew Lunn
2023-10-02 15:24   ` Andrew Lunn
2023-10-03 23:46     ` FUJITA Tomonori
2023-10-02  8:53 ` [PATCH v1 2/3] MAINTAINERS: add Rust PHY abstractions to the ETHERNET PHY LIBRARY FUJITA Tomonori
2023-10-02  8:53 ` [PATCH v1 3/3] net: phy: add Rust Asix PHY driver FUJITA Tomonori

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.