From: kernel test robot <lkp@intel.com>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [ardb:x86-efi-runtime-cleanup 8/11] drivers/firmware/efi/runtime-wrappers.c:293:40: error: expected identifier before '&' token
Date: Wed, 9 Aug 2023 13:50:54 +0800 [thread overview]
Message-ID: <202308091353.PmfftebF-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-kexec (https://download.01.org/0day-ci/archive/20230809/202308091353.PmfftebF-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230809/202308091353.PmfftebF-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/202308091353.PmfftebF-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/firmware/efi/runtime-wrappers.c:36:
drivers/firmware/efi/runtime-wrappers.c: In function 'efi_call_rts':
>> drivers/firmware/efi/runtime-wrappers.c:293:40: error: expected identifier before '&' token
293 | status = efi_call_virt(&args->ACPI_PRM_HANDLER,
| ^
arch/x86/include/asm/efi.h:103:20: note: in definition of macro 'efi_call'
103 | __efi_call(__VA_ARGS__); \
| ^~~~~~~~~~~
drivers/firmware/efi/runtime-wrappers.c:43:9: note: in expansion of macro 'arch_efi_call_virt'
43 | arch_efi_call_virt(efi.runtime, f, args)
| ^~~~~~~~~~~~~~~~~~
drivers/firmware/efi/runtime-wrappers.c:293:26: note: in expansion of macro 'efi_call_virt'
293 | status = efi_call_virt(&args->ACPI_PRM_HANDLER,
| ^~~~~~~~~~~~~
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 5:51 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=202308091353.PmfftebF-lkp@intel.com \
--to=lkp@intel.com \
--cc=ardb@kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.