public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [ardb:x86-efi-runtime-cleanup 8/11] drivers/firmware/efi/runtime-wrappers.c:293:26: error: expected identifier
Date: Wed, 9 Aug 2023 14:11:49 +0800	[thread overview]
Message-ID: <202308091414.fPZ0j8Ex-lkp@intel.com> (raw)

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git x86-efi-runtime-cleanup
head:   c71456a199541783dbb943e07547fc0d0c929ea2
commit: 74d615646e6a6ab2abe1d6b22d519d7b1b8981c1 [8/11] acpi/prmt: Use EFI runtime sandbox to invoke PRM handlers
config: x86_64-buildonly-randconfig-r003-20230808 (https://download.01.org/0day-ci/archive/20230809/202308091414.fPZ0j8Ex-lkp@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce: (https://download.01.org/0day-ci/archive/20230809/202308091414.fPZ0j8Ex-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308091414.fPZ0j8Ex-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/firmware/efi/runtime-wrappers.c:293:26: error: expected identifier
                   status = efi_call_virt(&args->ACPI_PRM_HANDLER,
                                          ^
>> drivers/firmware/efi/runtime-wrappers.c:294:12: error: use of undeclared identifier 'acpi_prm_handler'
                                          acpi_prm_handler,
                                          ^
   drivers/firmware/efi/runtime-wrappers.c:293:12: error: assigning to 'u64' (aka 'unsigned long long') from incompatible type 'void'
                   status = efi_call_virt(&args->ACPI_PRM_HANDLER,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/firmware/efi/runtime-wrappers.c:43:2: note: expanded from macro 'efi_call_virt'
           arch_efi_call_virt(efi.runtime, f, args)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/include/asm/efi.h:109:6: note: expanded from macro 'arch_efi_call_virt'
           ret = efi_call((void *)p->f, args);                             \
               ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   3 errors generated.


vim +293 drivers/firmware/efi/runtime-wrappers.c

   210	
   211	/*
   212	 * Calls the appropriate efi_runtime_service() with the appropriate
   213	 * arguments.
   214	 */
   215	static void efi_call_rts(struct work_struct *work)
   216	{
   217		const union efi_rts_args *args = efi_rts_work.args;
   218		efi_status_t status = EFI_NOT_FOUND;
   219		unsigned long flags;
   220	
   221		arch_efi_call_virt_setup();
   222		flags = efi_call_virt_save_flags();
   223	
   224		switch (efi_rts_work.efi_rts_id) {
   225		case EFI_GET_TIME:
   226			status = efi_call_virt(get_time,
   227					       args->GET_TIME.time,
   228					       args->GET_TIME.capabilities);
   229			break;
   230		case EFI_SET_TIME:
   231			status = efi_call_virt(set_time,
   232					       args->SET_TIME.time);
   233			break;
   234		case EFI_GET_WAKEUP_TIME:
   235			status = efi_call_virt(get_wakeup_time,
   236					       args->GET_WAKEUP_TIME.enabled,
   237					       args->GET_WAKEUP_TIME.pending,
   238					       args->GET_WAKEUP_TIME.time);
   239			break;
   240		case EFI_SET_WAKEUP_TIME:
   241			status = efi_call_virt(set_wakeup_time,
   242					       args->SET_WAKEUP_TIME.enable,
   243					       args->SET_WAKEUP_TIME.time);
   244			break;
   245		case EFI_GET_VARIABLE:
   246			status = efi_call_virt(get_variable,
   247					       args->GET_VARIABLE.name,
   248					       args->GET_VARIABLE.vendor,
   249					       args->GET_VARIABLE.attr,
   250					       args->GET_VARIABLE.data_size,
   251					       args->GET_VARIABLE.data);
   252			break;
   253		case EFI_GET_NEXT_VARIABLE:
   254			status = efi_call_virt(get_next_variable,
   255					       args->GET_NEXT_VARIABLE.name_size,
   256					       args->GET_NEXT_VARIABLE.name,
   257					       args->GET_NEXT_VARIABLE.vendor);
   258			break;
   259		case EFI_SET_VARIABLE:
   260			status = efi_call_virt(set_variable,
   261					       args->SET_VARIABLE.name,
   262					       args->SET_VARIABLE.vendor,
   263					       args->SET_VARIABLE.attr,
   264					       args->SET_VARIABLE.data_size,
   265					       args->SET_VARIABLE.data);
   266			break;
   267		case EFI_QUERY_VARIABLE_INFO:
   268			status = efi_call_virt(query_variable_info,
   269					       args->QUERY_VARIABLE_INFO.attr,
   270					       args->QUERY_VARIABLE_INFO.storage_space,
   271					       args->QUERY_VARIABLE_INFO.remaining_space,
   272					       args->QUERY_VARIABLE_INFO.max_variable_size);
   273			break;
   274		case EFI_GET_NEXT_HIGH_MONO_COUNT:
   275			status = efi_call_virt(get_next_high_mono_count,
   276					       args->GET_NEXT_HIGH_MONO_COUNT.high_count);
   277			break;
   278		case EFI_UPDATE_CAPSULE:
   279			status = efi_call_virt(update_capsule,
   280					       args->UPDATE_CAPSULE.capsules,
   281					       args->UPDATE_CAPSULE.count,
   282					       args->UPDATE_CAPSULE.sg_list);
   283			break;
   284		case EFI_QUERY_CAPSULE_CAPS:
   285			status = efi_call_virt(query_capsule_caps,
   286					       args->QUERY_CAPSULE_CAPS.capsules,
   287					       args->QUERY_CAPSULE_CAPS.count,
   288					       args->QUERY_CAPSULE_CAPS.max_size,
   289					       args->QUERY_CAPSULE_CAPS.reset_type);
   290			break;
   291		case EFI_ACPI_PRM_HANDLER:
   292	#ifdef CONFIG_ACPI_PRMT
 > 293			status = efi_call_virt(&args->ACPI_PRM_HANDLER,
 > 294					       acpi_prm_handler,
   295					       args->ACPI_PRM_HANDLER.param_buffer_addr,
   296					       args->ACPI_PRM_HANDLER.context);
   297			break;
   298	#endif
   299		default:
   300			/*
   301			 * Ideally, we should never reach here because a caller of this
   302			 * function should have put the right efi_runtime_service()
   303			 * function identifier into efi_rts_work->efi_rts_id
   304			 */
   305			pr_err("Requested executing invalid EFI Runtime Service.\n");
   306		}
   307	
   308		efi_call_virt_check_flags(flags, efi_rts_work.caller);
   309		arch_efi_call_virt_teardown();
   310	
   311		efi_rts_work.status = status;
   312		complete(&efi_rts_work.efi_rts_comp);
   313	}
   314	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2023-08-09  6:12 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202308091414.fPZ0j8Ex-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=ardb@kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox