@@ -18,11 +18,7 @@ use smoltcp::wire::{IpCidr, Ipv4Address, Ipv4Cidr};
18
18
19
19
use super::network::{NetworkInterface, NetworkState};
20
20
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};
26
22
use crate::mm::device_alloc::DeviceAlloc;
27
23
28
24
/// Data type to determine the mac address
@@ -42,7 +38,7 @@ impl HermitNet {
42
38
impl<'a> NetworkInterface<'a> {
43
39
#[cfg(feature = "dhcpv4")]
44
40
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() {
46
42
let guard = driver.lock();
47
43
(
48
44
guard.get_mtu(),
@@ -98,7 +94,7 @@ impl<'a> NetworkInterface<'a> {
98
94
99
95
#[cfg(not(feature = "dhcpv4"))]
100
96
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() {
102
98
let guard = driver.lock();
103
99
(
104
100
guard.get_mtu(),
@@ -182,7 +178,7 @@ impl Device for HermitNet {
182
178
}
183
179
184
180
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() {
186
182
driver.lock().receive_packet()
187
183
} else {
188
184
None
@@ -231,9 +227,6 @@ impl phy::TxToken for TxToken {
231
227
where
232
228
F: FnOnce(&mut [u8]) -> R,
233
229
{
234
- hardware::get_network_driver()
235
- .unwrap()
236
- .lock()
237
- .send_packet(len, f)
230
+ get_network_driver().unwrap().lock().send_packet(len, f)
238
231
}
239
232
}
0 commit comments