The patch titled EFI: calling efi_get_time during suspend has been removed from the -mm tree. Its filename was efi-calling-efi_get_time-during-suspend.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: EFI: calling efi_get_time during suspend From: Artiom Myaskouvskey <artiom.myaskouvskey@xxxxxxxxx> Function efi_get_time called not only during init kernel phase but also during suspend (from get_cmos_time). When it is called from get_cmos_time the corresponding runtime service should be called in virtual and not in physical mode. Signed-off-by: Artiom Myaskouvskey <artiom.myaskouvskey@xxxxxxxxx> Cc: "Narayanan, Chandramouli" <chandramouli.narayanan@xxxxxxxxx> Cc: "Jiossy, Rami" <rami.jiossy@xxxxxxxxx> Cc: "Satt, Shai" <shai.satt@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxx> Cc: Matt Domsch <Matt_Domsch@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- arch/i386/kernel/efi.c | 17 ++++++++++++----- include/linux/efi.h | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff -puN arch/i386/kernel/efi.c~efi-calling-efi_get_time-during-suspend arch/i386/kernel/efi.c --- a/arch/i386/kernel/efi.c~efi-calling-efi_get_time-during-suspend +++ a/arch/i386/kernel/efi.c @@ -194,17 +194,24 @@ inline int efi_set_rtc_mmss(unsigned lon return 0; } /* - * This should only be used during kernel init and before runtime - * services have been remapped, therefore, we'll need to call in physical - * mode. Note, this call isn't used later, so mark it __init. + * This is used during kernel init before runtime + * services have been remapped and also during suspend, therefore, + * we'll need to call both in physical and virtual modes. */ -inline unsigned long __init efi_get_time(void) +inline unsigned long efi_get_time(void) { efi_status_t status; efi_time_t eft; efi_time_cap_t cap; - status = phys_efi_get_time(&eft, &cap); + if (efi.get_time) { + /* if we are in virtual mode use remapped function */ + status = efi.get_time(&eft, &cap); + } else { + /* we are in physical mode */ + status = phys_efi_get_time(&eft, &cap); + } + if (status != EFI_SUCCESS) printk("Oops: efitime: can't read time status: 0x%lx\n",status); diff -puN include/linux/efi.h~efi-calling-efi_get_time-during-suspend include/linux/efi.h --- a/include/linux/efi.h~efi-calling-efi_get_time-during-suspend +++ a/include/linux/efi.h @@ -300,7 +300,7 @@ extern int efi_mem_attribute_range (unsi extern int __init efi_uart_console_only (void); extern void efi_initialize_iomem_resources(struct resource *code_resource, struct resource *data_resource); -extern unsigned long __init efi_get_time(void); +extern unsigned long efi_get_time(void); extern int __init efi_set_rtc_mmss(unsigned long nowtime); extern struct efi_memory_map memmap; _ Patches currently in -mm which might be from artiom.myaskouvskey@xxxxxxxxx are - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html