mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
pcib: Add helper routines for [de]activating PCI_RES_BUS resources
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43427 (cherry picked from commit 23e3b83ab61a440ccce20da7fbf1340d58db361c)
This commit is contained in:
parent
8ac895f924
commit
a5275ec0a8
2 changed files with 36 additions and 0 deletions
|
|
@ -379,6 +379,38 @@ pci_domain_release_bus(int domain, device_t dev, int rid, struct resource *r)
|
|||
#endif
|
||||
return (rman_release_resource(r));
|
||||
}
|
||||
|
||||
int
|
||||
pci_domain_activate_bus(int domain, device_t dev, int rid, struct resource *r)
|
||||
{
|
||||
#ifdef INVARIANTS
|
||||
struct pci_domain *d;
|
||||
#endif
|
||||
|
||||
if (domain < 0 || domain > PCI_DOMAINMAX)
|
||||
return (EINVAL);
|
||||
#ifdef INVARIANTS
|
||||
d = pci_find_domain(domain);
|
||||
KASSERT(rman_is_region_manager(r, &d->pd_bus_rman), ("bad resource"));
|
||||
#endif
|
||||
return (rman_activate_resource(r));
|
||||
}
|
||||
|
||||
int
|
||||
pci_domain_deactivate_bus(int domain, device_t dev, int rid, struct resource *r)
|
||||
{
|
||||
#ifdef INVARIANTS
|
||||
struct pci_domain *d;
|
||||
#endif
|
||||
|
||||
if (domain < 0 || domain > PCI_DOMAINMAX)
|
||||
return (EINVAL);
|
||||
#ifdef INVARIANTS
|
||||
d = pci_find_domain(domain);
|
||||
KASSERT(rman_is_region_manager(r, &d->pd_bus_rman), ("bad resource"));
|
||||
#endif
|
||||
return (rman_deactivate_resource(r));
|
||||
}
|
||||
#endif /* PCI_RES_BUS */
|
||||
|
||||
#endif /* NEW_PCIB */
|
||||
|
|
|
|||
|
|
@ -160,6 +160,10 @@ int pci_domain_adjust_bus(int domain, device_t dev,
|
|||
struct resource *r, rman_res_t start, rman_res_t end);
|
||||
int pci_domain_release_bus(int domain, device_t dev, int rid,
|
||||
struct resource *r);
|
||||
int pci_domain_activate_bus(int domain, device_t dev, int rid,
|
||||
struct resource *r);
|
||||
int pci_domain_deactivate_bus(int domain, device_t dev, int rid,
|
||||
struct resource *r);
|
||||
struct resource *pcib_alloc_subbus(struct pcib_secbus *bus, device_t child,
|
||||
int *rid, rman_res_t start, rman_res_t end, rman_res_t count,
|
||||
u_int flags);
|
||||
|
|
|
|||
Loading…
Reference in a new issue