From 3f8d7bce7cf1ee993d381b2ce315352ca234c81b Mon Sep 17 00:00:00 2001 From: Marcus Overhagen Date: Sun, 18 Feb 2007 00:18:13 +0000 Subject: [PATCH] added PCI capability support to bus api git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20151 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/drivers/bus/PCI.h | 5 ++++- src/add-ons/kernel/bus_managers/pci/pci_device.c | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/headers/os/drivers/bus/PCI.h b/headers/os/drivers/bus/PCI.h index 846fd463fb..7832076667 100644 --- a/headers/os/drivers/bus/PCI.h +++ b/headers/os/drivers/bus/PCI.h @@ -112,7 +112,10 @@ typedef struct pci_device_module_info { status_t (*release_ioports)( uint16 ioport_base, size_t len );*/ status_t (*get_pci_info)(pci_device device, struct pci_info *info); - + + status_t (*find_pci_capability)(pci_device device, + uchar cap_id, + uchar *offset); } pci_device_module_info; diff --git a/src/add-ons/kernel/bus_managers/pci/pci_device.c b/src/add-ons/kernel/bus_managers/pci/pci_device.c index 9432f9b20e..74cc1f24af 100644 --- a/src/add-ons/kernel/bus_managers/pci/pci_device.c +++ b/src/add-ons/kernel/bus_managers/pci/pci_device.c @@ -117,6 +117,14 @@ pci_device_get_pci_info(pci_device device, struct pci_info *info) } +static status_t +pci_device_find_capability(pci_device device, uchar cap_id, uchar *offset) +{ + return pci_find_capability(device->bus, device->device, + device->function, cap_id, offset); +} + + static status_t pci_device_init_driver(device_node_handle node, void *user_cookie, void **cookie) { @@ -226,4 +234,6 @@ pci_device_module_info gPCIDeviceModule = { pci_device_ram_address, pci_device_get_pci_info, + + pci_device_find_capability };