summaryrefslogtreecommitdiff
path: root/rust/kernel/net/phy.rs
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2025-10-16 20:14:24 +0200
committerTakashi Iwai <tiwai@suse.de>2025-10-16 20:14:24 +0200
commitec2e0fb07d789976c601bec19ecced7a501c3705 (patch)
treed593e7b6153618ca10855a3141404e952debe73c /rust/kernel/net/phy.rs
parentc6fceaf166479c05f7d3158ef08e78ae3e3dfa23 (diff)
parentf1a450f9e17d341f69f8fb19f6d13ef9f1aa508b (diff)
Merge tag 'asoc-fix-v6.18-rc1' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v6.18 A moderately large collection of driver specific fixes, plus a few new quirks and device IDs. The NAU8821 changes are a little large but more in mechanical ways than in ways that are complex.
Diffstat (limited to 'rust/kernel/net/phy.rs')
-rw-r--r--rust/kernel/net/phy.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/rust/kernel/net/phy.rs b/rust/kernel/net/phy.rs
index 7de5cc7a0eee..bf6272d87a7b 100644
--- a/rust/kernel/net/phy.rs
+++ b/rust/kernel/net/phy.rs
@@ -196,11 +196,8 @@ impl Device {
// SAFETY: `phydev` is pointing to a valid object by the type invariant of `Self`.
// So it's just an FFI call.
let ret = unsafe { bindings::phy_read_paged(phydev, page.into(), regnum.into()) };
- if ret < 0 {
- Err(Error::from_errno(ret))
- } else {
- Ok(ret as u16)
- }
+
+ to_result(ret).map(|()| ret as u16)
}
/// Resolves the advertisements into PHY settings.
@@ -497,7 +494,7 @@ unsafe impl Sync for DriverVTable {}
pub const fn create_phy_driver<T: Driver>() -> DriverVTable {
// INVARIANT: All the fields of `struct phy_driver` are initialized properly.
DriverVTable(Opaque::new(bindings::phy_driver {
- name: T::NAME.as_char_ptr().cast_mut(),
+ name: crate::str::as_char_ptr_in_const_context(T::NAME).cast_mut(),
flags: T::FLAGS,
phy_id: T::PHY_DEVICE_ID.id(),
phy_id_mask: T::PHY_DEVICE_ID.mask_as_int(),