Skip to content

Commit 465a9fd

Browse files
committed
refactor(drivers/net): Move get_network_driver to drivers/net
Signed-off-by: Jens Reidel <[email protected]>
1 parent dc34ec0 commit 465a9fd

File tree

3 files changed

+14
-17
lines changed

3 files changed

+14
-17
lines changed

src/drivers/net/mod.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,11 @@ pub(crate) fn mtu() -> u16 {
5656
DEFAULT_MTU
5757
}
5858
}
59+
60+
cfg_if::cfg_if! {
61+
if #[cfg(not(feature = "pci"))] {
62+
pub(crate) use crate::arch::kernel::mmio::get_network_driver;
63+
} else {
64+
pub(crate) use crate::drivers::pci::get_network_driver;
65+
}
66+
}

src/executor/device.rs

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,7 @@ use smoltcp::wire::{IpCidr, Ipv4Address, Ipv4Cidr};
1818

1919
use super::network::{NetworkInterface, NetworkState};
2020
use crate::arch;
21-
#[cfg(not(feature = "pci"))]
22-
use crate::arch::kernel::mmio as hardware;
23-
use crate::drivers::net::NetworkDriver;
24-
#[cfg(feature = "pci")]
25-
use crate::drivers::pci as hardware;
21+
use crate::drivers::net::{NetworkDriver, get_network_driver};
2622
use crate::mm::device_alloc::DeviceAlloc;
2723

2824
/// Data type to determine the mac address
@@ -42,7 +38,7 @@ impl HermitNet {
4238
impl<'a> NetworkInterface<'a> {
4339
#[cfg(feature = "dhcpv4")]
4440
pub(crate) fn create() -> NetworkState<'a> {
45-
let (mtu, mac, checksums) = if let Some(driver) = hardware::get_network_driver() {
41+
let (mtu, mac, checksums) = if let Some(driver) = get_network_driver() {
4642
let guard = driver.lock();
4743
(
4844
guard.get_mtu(),
@@ -98,7 +94,7 @@ impl<'a> NetworkInterface<'a> {
9894

9995
#[cfg(not(feature = "dhcpv4"))]
10096
pub(crate) fn create() -> NetworkState<'a> {
101-
let (mtu, mac, checksums) = if let Some(driver) = hardware::get_network_driver() {
97+
let (mtu, mac, checksums) = if let Some(driver) = get_network_driver() {
10298
let guard = driver.lock();
10399
(
104100
guard.get_mtu(),
@@ -182,7 +178,7 @@ impl Device for HermitNet {
182178
}
183179

184180
fn receive(&mut self, _timestamp: Instant) -> Option<(Self::RxToken<'_>, Self::TxToken<'_>)> {
185-
if let Some(driver) = hardware::get_network_driver() {
181+
if let Some(driver) = get_network_driver() {
186182
driver.lock().receive_packet()
187183
} else {
188184
None
@@ -231,9 +227,6 @@ impl phy::TxToken for TxToken {
231227
where
232228
F: FnOnce(&mut [u8]) -> R,
233229
{
234-
hardware::get_network_driver()
235-
.unwrap()
236-
.lock()
237-
.send_packet(len, f)
230+
get_network_driver().unwrap().lock().send_packet(len, f)
238231
}
239232
}

src/executor/mod.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,8 @@ use hermit_sync::without_interrupts;
2222
use smoltcp::time::Instant;
2323

2424
use crate::arch::core_local::*;
25-
#[cfg(all(any(feature = "tcp", feature = "udp"), not(feature = "pci")))]
26-
use crate::drivers::mmio::get_network_driver;
2725
#[cfg(any(feature = "tcp", feature = "udp"))]
28-
use crate::drivers::net::NetworkDriver;
29-
#[cfg(all(any(feature = "tcp", feature = "udp"), feature = "pci"))]
30-
use crate::drivers::pci::get_network_driver;
26+
use crate::drivers::net::{NetworkDriver, get_network_driver};
3127
use crate::errno::Errno;
3228
use crate::executor::task::AsyncTask;
3329
use crate::io;

0 commit comments

Comments
 (0)