diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2011-10-10 19:42:38 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2011-10-10 19:42:38 +0000 |
commit | 3cc4d3c11a835610eaf5ce6c13389352149848c1 (patch) | |
tree | b6ff787b8bae84fe3b0c21b7f0378c2d7459fad8 /sys/arch/sparc64 | |
parent | f01ca6aed7de84c5098370e7359ed9043e29b16c (diff) |
Introduce pci_probe_device_hook(pci_chipset_tag_t, struct pci_attach_args *).
This mandatory function will get invoked in pci_probe_device(), and allows
a pci host driver to alter the pci_attach_args passed to a device when
attaching.
This function will also, if returning non-zero, cause the device to be
skipped completely during all the phases of the PCI device discovery
(i.e. ressource enumeration, ressource assignment, and actual attachment).
This particular feature is experimental and might be reverted in the future
(or the scope narrowed to device attachment only).
A dummy #define pci_probe_device_hook() 0 is added to all platforms except
sgi, where real functions (currently only returning 0) are added; real meat
will be added shortly.
Discussed at s2k11, no objection from the usual suspects.
Diffstat (limited to 'sys/arch/sparc64')
-rw-r--r-- | sys/arch/sparc64/include/pci_machdep.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arch/sparc64/include/pci_machdep.h b/sys/arch/sparc64/include/pci_machdep.h index 20deee3a3b8..3240314871b 100644 --- a/sys/arch/sparc64/include/pci_machdep.h +++ b/sys/arch/sparc64/include/pci_machdep.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_machdep.h,v 1.29 2011/07/06 05:08:50 kettenis Exp $ */ +/* $OpenBSD: pci_machdep.h,v 1.30 2011/10/10 19:42:36 miod Exp $ */ /* $NetBSD: pci_machdep.h,v 1.7 2001/07/20 00:07:14 eeh Exp $ */ /* @@ -102,6 +102,8 @@ int sparc64_pci_enumerate_bus(struct pci_softc *, #define PCI_MACHDEP_ENUMERATE_BUS sparc64_pci_enumerate_bus +#define pci_probe_device_hook(c, a) (0) + #define pciide_machdep_compat_intr_establish(a, b, c, d, e) (NULL) #define pciide_machdep_compat_intr_disestablish(a, b) do { } while (0) |