/* @handle handle of the loaded image @systable system table  */
static int setup(const efi_handle_t img_handle, const struct efi_system_table *systable)
/* @handle handle of the loaded image @systable system table  */
static int setup(const efi_handle_t img_handle, const struct efi_system_table *systable)
{
	efi_status_t ret;
	boottime = systable->boottime;
	ret = boottime->install_protocol_interface(
			&handle_controller, &guid_controller,
			EFI_NATIVE_INTERFACE, &interface1);
	if (ret != EFI_SUCCESS) {
		efi_st_error("InstallProtocolInterface failed\n");
		return EFI_ST_FAILURE;
	}
	ret = boottime->install_protocol_interface(
			&handle_driver,  &guid_driver_binding_protocol,
			EFI_NATIVE_INTERFACE, &binding_interface);
	if (ret != EFI_SUCCESS) {
		efi_st_error("InstallProtocolInterface failed\n");
		return EFI_ST_FAILURE;
	}
	return EFI_ST_SUCCESS;
}