summaryrefslogtreecommitdiff
path: root/Kernel/Net/E1000NetworkAdapter.h
diff options
context:
space:
mode:
authorLiav A <liavalb@gmail.com>2020-01-21 13:23:03 +0200
committerAndreas Kling <kling@serenityos.org>2020-01-22 12:22:09 +0100
commit6c72736b26a81a8f03d8dd47989bfffe26bb1c95 (patch)
tree893afba92bbf65af31c196e64467f1d1656afb95 /Kernel/Net/E1000NetworkAdapter.h
parent1ee37245cd7342a649d50653b137e4ca626e88b4 (diff)
downloadserenity-6c72736b26a81a8f03d8dd47989bfffe26bb1c95.zip
Kernel: Replace IRQHandler with the new InterruptHandler class
System components that need an IRQ handling are now inheriting the InterruptHandler class. In addition to that, the initialization process of PATAChannel was changed to fit the changes. PATAChannel, E1000NetworkAdapter and RTL8139NetworkAdapter are now inheriting from PCI::Device instead of InterruptHandler directly.
Diffstat (limited to 'Kernel/Net/E1000NetworkAdapter.h')
-rw-r--r--Kernel/Net/E1000NetworkAdapter.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/Kernel/Net/E1000NetworkAdapter.h b/Kernel/Net/E1000NetworkAdapter.h
index 93efc84faf..fb1fbb58b9 100644
--- a/Kernel/Net/E1000NetworkAdapter.h
+++ b/Kernel/Net/E1000NetworkAdapter.h
@@ -27,23 +27,23 @@
#pragma once
#include <AK/OwnPtr.h>
-#include <Kernel/IRQHandler.h>
#include <Kernel/Net/NetworkAdapter.h>
#include <Kernel/PCI/Access.h>
+#include <Kernel/PCI/Device.h>
class E1000NetworkAdapter final : public NetworkAdapter
- , public IRQHandler {
+ , public PCI::Device {
public:
static OwnPtr<E1000NetworkAdapter> autodetect();
- E1000NetworkAdapter(PCI::Address, u8 irq);
+ E1000NetworkAdapter(PCI::Address, u8 interrupt_vector);
virtual ~E1000NetworkAdapter() override;
virtual void send_raw(const u8*, int) override;
virtual bool link_up() override;
private:
- virtual void handle_irq() override;
+ virtual void handle_interrupt() override;
virtual const char* class_name() const override { return "E1000NetworkAdapter"; }
struct [[gnu::packed]] e1000_rx_desc
@@ -86,7 +86,6 @@ private:
void receive();
- PCI::Address m_pci_address;
u16 m_io_base { 0 };
VirtualAddress m_mmio_base;
OwnPtr<Region> m_mmio_region;