pdinfo
typedef STAILQ_HEAD(pdinfo_list, pdinfo) pdinfo_list_t;
STAILQ_ENTRY(pdinfo) pd_link; /* link in device list */
struct pdinfo *pd_parent; /* Linked items (eg partitions) */
static pdinfo_list_t pdinfo = STAILQ_HEAD_INITIALIZER(pdinfo);
if (!STAILQ_EMPTY(&pdinfo))
STAILQ_INSERT_TAIL(&pdinfo, pd, pd_link);
STAILQ_FOREACH(pd, &pdinfo, pd_link) {
pd->pd_parent = efipart_find_parent(&pdinfo, pd->pd_devpath);
while ((fd = efipart_get_pd(&pdinfo, efipart_testfd, NULL)) != NULL) {
STAILQ_REMOVE(&pdinfo, fd, pdinfo, pd_link);
STAILQ_REMOVE(&pdinfo, parent, pdinfo, pd_link);
STAILQ_FOREACH(pd, &pdinfo, pd_link) {
STAILQ_REMOVE(&pdinfo, cd, pdinfo, pd_link);
last = STAILQ_LAST(&parent->pd_part, pdinfo, pd_link);
last = STAILQ_LAST(&cdinfo, pdinfo, pd_link);
while ((cd = efipart_get_pd(&pdinfo, efipart_testcd, NULL)) != NULL)
for (child = efipart_get_pd(&pdinfo, efipart_testchild, cd);
child = efipart_get_pd(&pdinfo, efipart_testchild, cd))
ptr = STAILQ_LAST(&parent->pd_part, pdinfo, pd_link);
last = STAILQ_LAST(&hdinfo, pdinfo, pd_link);
STAILQ_FOREACH(pd, &pdinfo, pd_link) {
STAILQ_REMOVE(&pdinfo, hd, pdinfo, pd_link);
last = STAILQ_LAST(&hdinfo, pdinfo, pd_link);
while ((hd = efipart_get_pd(&pdinfo, efipart_testhd, NULL)) != NULL)
struct pci_devinfo *pdinfo;
pdinfo = device_get_ivars(dev);
if (pdinfo->cfg.pcie.pcie_location != 0 &&
(pdinfo->cfg.pcie.pcie_type == PCIEM_TYPE_DOWNSTREAM_PORT ||
pdinfo->cfg.pcie.pcie_type == PCIEM_TYPE_ROOT_PORT)) {
pdinfo->cfg.pcie.pcie_location);