From 9c64c3e69fa60b3657d33e829a411cb37064a169 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Sat, 17 May 2025 21:54:24 -0400 Subject: kernel: pci: Add pci_add_device() Signed-off-by: Ian Moffett --- sys/dev/pci/pci.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'sys/dev') diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 8328ffc..d59f68f 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -39,6 +40,7 @@ #define pr_trace(fmt, ...) kprintf("pci: " fmt, ##__VA_ARGS__) static TAILQ_HEAD(, pci_device) device_list; +static struct spinlock devlist_lock = {0}; static bool pci_dev_exists(uint8_t bus, uint8_t slot, uint8_t func) @@ -262,6 +264,15 @@ pci_get_device(struct pci_lookup lookup, uint16_t lookup_type) return NULL; } + +void +pci_add_device(struct pci_device *dev) +{ + spinlock_acquire(&devlist_lock); + TAILQ_INSERT_TAIL(&device_list, dev, link); + spinlock_release(&devlist_lock); +} + int pci_init(void) { -- cgit v1.2.3