/* Create all the ISA child devices on the ISA bus controller (PCI to ISA bridge). */
UINT32 SioCreateAllChildDevices(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_PCI_IO_PROTOCOL *PciIo, IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath)
/* Create all the ISA child devices on the ISA bus controller (PCI to ISA bridge). */
UINT32 SioCreateAllChildDevices(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_PCI_IO_PROTOCOL *PciIo, IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath)
{
  UINT32      Index;
  UINT32      ChildDeviceNumber;
  EFI_STATUS  Status;
  ChildDeviceNumber = 0;
  for (Index = 0; Index < ARRAY_SIZE (mDevicesInfo); Index++) {
    Status = SioCreateChildDevice (
               This,
               Controller,
               PciIo,
               ParentDevicePath,
               Index
               );
    if (!EFI_ERROR (Status)) {
      ChildDeviceNumber++;
    }
  }
  return ChildDeviceNumber;
}