/* All direct or indirect allocated resource for this node will be freed. */
VOID FreePciDevice(IN PCI_IO_DEVICE *PciIoDevice)
/* All direct or indirect allocated resource for this node will be freed. */
VOID FreePciDevice(IN PCI_IO_DEVICE *PciIoDevice)
{
  ASSERT (PciIoDevice != NULL);
  if (PciIoDevice->ResourcePaddingDescriptors != NULL) {
    FreePool (PciIoDevice->ResourcePaddingDescriptors);
  }
  if (PciIoDevice->DevicePath != NULL) {
    FreePool (PciIoDevice->DevicePath);
  }
  if (PciIoDevice->BusNumberRanges != NULL) {
    FreePool (PciIoDevice->BusNumberRanges);
  }
  FreePool (PciIoDevice);
}