pci_stub.c revision 1.3 1 1.1 dyoung #include <sys/cdefs.h>
2 1.3 pooka __KERNEL_RCSID(0, "$NetBSD: pci_stub.c,v 1.3 2015/08/24 23:55:04 pooka Exp $");
3 1.1 dyoung
4 1.3 pooka #ifdef _KERNEL_OPT
5 1.1 dyoung #include "opt_pci.h"
6 1.3 pooka #endif
7 1.1 dyoung
8 1.1 dyoung #include <sys/param.h>
9 1.1 dyoung #include <sys/systm.h>
10 1.1 dyoung
11 1.1 dyoung #include <dev/pci/pcireg.h>
12 1.1 dyoung #include <dev/pci/pcivar.h>
13 1.1 dyoung #include <dev/pci/pcidevs.h>
14 1.1 dyoung
15 1.1 dyoung int default_pci_bus_devorder(pci_chipset_tag_t, int, uint8_t *, int);
16 1.1 dyoung int default_pci_chipset_tag_create(pci_chipset_tag_t, uint64_t,
17 1.1 dyoung const struct pci_overrides *, void *, pci_chipset_tag_t *);
18 1.1 dyoung void default_pci_chipset_tag_destroy(pci_chipset_tag_t);
19 1.2 knakahar void *default_pci_intr_establish_xname(pci_chipset_tag_t, pci_intr_handle_t,
20 1.2 knakahar int, int (*)(void *), void *, const char *);
21 1.1 dyoung
22 1.1 dyoung __strict_weak_alias(pci_bus_devorder, default_pci_bus_devorder);
23 1.1 dyoung __strict_weak_alias(pci_chipset_tag_create, default_pci_chipset_tag_create);
24 1.1 dyoung __strict_weak_alias(pci_chipset_tag_destroy, default_pci_chipset_tag_destroy);
25 1.1 dyoung
26 1.2 knakahar __strict_weak_alias(pci_intr_establish_xname, default_pci_intr_establish_xname);
27 1.2 knakahar
28 1.1 dyoung int
29 1.1 dyoung default_pci_bus_devorder(pci_chipset_tag_t pc, int bus, uint8_t *devs,
30 1.1 dyoung int maxdevs)
31 1.1 dyoung {
32 1.1 dyoung int i, n;
33 1.1 dyoung
34 1.1 dyoung n = MIN(pci_bus_maxdevs(pc, bus), maxdevs);
35 1.1 dyoung for (i = 0; i < n; i++)
36 1.1 dyoung devs[i] = i;
37 1.1 dyoung
38 1.1 dyoung return n;
39 1.1 dyoung }
40 1.1 dyoung
41 1.1 dyoung void
42 1.1 dyoung default_pci_chipset_tag_destroy(pci_chipset_tag_t pc)
43 1.1 dyoung {
44 1.1 dyoung }
45 1.1 dyoung
46 1.1 dyoung int
47 1.1 dyoung default_pci_chipset_tag_create(pci_chipset_tag_t opc, const uint64_t present,
48 1.1 dyoung const struct pci_overrides *ov, void *ctx, pci_chipset_tag_t *pcp)
49 1.1 dyoung {
50 1.1 dyoung return EOPNOTSUPP;
51 1.1 dyoung }
52 1.2 knakahar
53 1.2 knakahar void *
54 1.2 knakahar default_pci_intr_establish_xname(pci_chipset_tag_t pc, pci_intr_handle_t ih,
55 1.2 knakahar int level, int (*func)(void *), void *arg, const char *__nouse)
56 1.2 knakahar {
57 1.2 knakahar
58 1.2 knakahar return pci_intr_establish(pc, ih, level, func, arg);
59 1.2 knakahar }
60