kernel: export pcienumcaps() for custom capability enumeration in drivers (virtio)
This used to be a internal function, but virtio uses multiple structures with the same cap type to indicate the location of various register blocks in the pci bars so export it.
This commit is contained in:
parent
51a351e845
commit
c3589ef3cf
2 changed files with 5 additions and 4 deletions
|
@ -910,8 +910,8 @@ pciclrmwi(Pcidev* p)
|
|||
pcicfgw16(p, PciPCR, p->pcr);
|
||||
}
|
||||
|
||||
static int
|
||||
enumcaps(Pcidev *p, int (*fmatch)(Pcidev*, int, int, int), int arg)
|
||||
int
|
||||
pcienumcaps(Pcidev *p, int (*fmatch)(Pcidev*, int, int, int), int arg)
|
||||
{
|
||||
int i, r, cap, off;
|
||||
|
||||
|
@ -971,13 +971,13 @@ matchhtcap(Pcidev *p, int cap, int off, int arg)
|
|||
int
|
||||
pcicap(Pcidev *p, int cap)
|
||||
{
|
||||
return enumcaps(p, matchcap, cap);
|
||||
return pcienumcaps(p, matchcap, cap);
|
||||
}
|
||||
|
||||
int
|
||||
pcihtcap(Pcidev *p, int cap)
|
||||
{
|
||||
return enumcaps(p, matchhtcap, cap);
|
||||
return pcienumcaps(p, matchhtcap, cap);
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
|
@ -254,6 +254,7 @@ extern void pciclrmwi(Pcidev* p);
|
|||
|
||||
extern int pcicap(Pcidev *p, int cap);
|
||||
extern int pcihtcap(Pcidev *p, int cap);
|
||||
extern int pcienumcaps(Pcidev *p, int (*fmatch)(Pcidev*, int, int, int), int arg);
|
||||
|
||||
extern int pcimsienable(Pcidev *p, uvlong addr, ulong data);
|
||||
extern int pcimsidisable(Pcidev *p);
|
||||
|
|
Loading…
Reference in a new issue