/* @controller_handle: parent controller @child_handle: child controller Return: status code  */
static efi_status_t disconnect_child(efi_handle_t controller_handle, efi_handle_t child_handle)
/* @controller_handle: parent controller @child_handle: child controller Return: status code  */
static efi_status_t disconnect_child(efi_handle_t controller_handle, efi_handle_t child_handle)
{
	efi_status_t ret;
	efi_guid_t *guid_controller = NULL;
	efi_guid_t *guid_child_controller = NULL;
	ret = EFI_CALL(systab.boottime->close_protocol(
				controller_handle, guid_controller,
				child_handle, child_handle));
	if (ret != EFI_SUCCESS) {
		EFI_PRINT("Cannot close protocol\n");
		return ret;
	}
	ret = EFI_CALL(systab.boottime->uninstall_protocol_interface(
				child_handle, guid_child_controller, NULL));
	if (ret != EFI_SUCCESS) {
		EFI_PRINT("Cannot uninstall protocol interface\n");
		return ret;
	}
	return ret;
}