From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
"H . Peter Anvin" <hpa@zytor.com>
Cc: Lukas Wunner <lukas@wunner.de>,
Ard Biesheuvel <ard.biesheuvel@linaro.org>,
linux-efi@vger.kernel.org,
Matt Fleming <matt@codeblueprint.co.uk>
Subject: [PATCH 02/10] x86/efi: Deduplicate efi_char16_printk()
Date: Tue, 31 Jan 2017 13:21:34 +0000 [thread overview]
Message-ID: <1485868902-20401-3-git-send-email-ard.biesheuvel@linaro.org> (raw)
In-Reply-To: <1485868902-20401-1-git-send-email-ard.biesheuvel@linaro.org>
From: Lukas Wunner <lukas@wunner.de>
Eliminate the separate 32 bit and 64 bit code paths by way of the shiny
new efi_call_proto() macro.
No functional change intended.
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
arch/x86/boot/compressed/eboot.c | 26 ++------------------------
include/linux/efi.h | 8 ++++----
2 files changed, 6 insertions(+), 28 deletions(-)
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
index f1cf284d631e..6d3aeabbce68 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
@@ -101,30 +101,8 @@ efi_open_volume(efi_system_table_t *sys_table, void *__image, void **__fh)
void efi_char16_printk(efi_system_table_t *table, efi_char16_t *str)
{
- unsigned long output_string;
- size_t offset;
-
- if (efi_early->is64) {
- struct efi_simple_text_output_protocol_64 *out;
- u64 *func;
-
- offset = offsetof(typeof(*out), output_string);
- output_string = efi_early->text_output + offset;
- out = (typeof(out))(unsigned long)efi_early->text_output;
- func = (u64 *)output_string;
-
- efi_early->call(*func, out, str);
- } else {
- struct efi_simple_text_output_protocol_32 *out;
- u32 *func;
-
- offset = offsetof(typeof(*out), output_string);
- output_string = efi_early->text_output + offset;
- out = (typeof(out))(unsigned long)efi_early->text_output;
- func = (u32 *)output_string;
-
- efi_early->call(*func, out, str);
- }
+ efi_call_proto(efi_simple_text_output_protocol, output_string,
+ efi_early->text_output, str);
}
static efi_status_t
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 5b1af30ece55..6642c4d9d11d 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -1240,17 +1240,17 @@ struct efivar_entry {
bool deleting;
};
-struct efi_simple_text_output_protocol_32 {
+typedef struct {
u32 reset;
u32 output_string;
u32 test_string;
-};
+} efi_simple_text_output_protocol_32_t;
-struct efi_simple_text_output_protocol_64 {
+typedef struct {
u64 reset;
u64 output_string;
u64 test_string;
-};
+} efi_simple_text_output_protocol_64_t;
struct efi_simple_text_output_protocol {
void *reset;
--
2.7.4
next prev parent reply other threads:[~2017-01-31 13:29 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-31 13:21 [GIT PULL 00/10] EFI updates for v4.11 Ard Biesheuvel
2017-01-31 13:21 ` [PATCH 01/10] efi: Deduplicate efi_file_size() / _read() / _close() Ard Biesheuvel
2017-02-01 9:44 ` [tip:efi/core] " tip-bot for Lukas Wunner
2017-01-31 13:21 ` Ard Biesheuvel [this message]
2017-02-01 9:45 ` [tip:efi/core] x86/efi: Deduplicate efi_char16_printk() tip-bot for Lukas Wunner
2017-01-31 13:21 ` [PATCH 03/10] efi: Make EFI_MEMORY_ATTRIBUTES_TABLE initialization common across all architectures Ard Biesheuvel
2017-02-01 9:45 ` [tip:efi/core] " tip-bot for Sai Praneeth
2017-01-31 13:21 ` [PATCH 04/10] efi: Introduce EFI_MEM_ATTR bit and set it from memory attributes table Ard Biesheuvel
2017-02-01 9:46 ` [tip:efi/core] efi: Introduce the EFI_MEM_ATTR bit and set it from the " tip-bot for Sai Praneeth
2017-01-31 13:21 ` [PATCH 05/10] x86/efi: Add support for EFI_MEMORY_ATTRIBUTES_TABLE Ard Biesheuvel
2017-02-01 9:46 ` [tip:efi/core] " tip-bot for Sai Praneeth
2017-01-31 13:21 ` [PATCH 06/10] efi/esrt: Fix spelling mistake "doen't" Ard Biesheuvel
2017-02-01 9:47 ` [tip:efi/core] efi/esrt: Fix typo in pr_err() message tip-bot for Colin Ian King
2017-01-31 13:21 ` [PATCH 07/10] efi: Use typed function pointers for runtime services table Ard Biesheuvel
2017-02-01 9:47 ` [tip:efi/core] efi: Use typed function pointers for the " tip-bot for Ard Biesheuvel
2017-01-31 13:21 ` [PATCH 08/10] efi/x86: Move EFI BGRT init code to early init code Ard Biesheuvel
2017-02-01 9:48 ` [tip:efi/core] efi/x86: Move the " tip-bot for Dave Young
2017-05-13 23:18 ` [PATCH 08/10] efi/x86: Move " Sabrina Dubroca
2017-05-15 8:37 ` Dave Young
2017-05-15 11:10 ` Sabrina Dubroca
2017-05-15 13:18 ` Dave Young
2017-05-15 13:44 ` Sabrina Dubroca
2017-01-31 13:21 ` [PATCH 09/10] efi/x86: Add debug code to print cooked memmap Ard Biesheuvel
2017-02-01 9:48 ` [tip:efi/core] " tip-bot for Dave Young
2017-01-31 13:21 ` [PATCH 10/10] efi: libstub: Preserve .debug sections after absolute relocation check Ard Biesheuvel
2017-02-01 9:49 ` [tip:efi/core] efi/libstub: " tip-bot for Ard Biesheuvel
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=1485868902-20401-3-git-send-email-ard.biesheuvel@linaro.org \
--to=ard.biesheuvel@linaro.org \
--cc=hpa@zytor.com \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=matt@codeblueprint.co.uk \
--cc=mingo@kernel.org \
--cc=tglx@linutronix.de \
/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
all inboxes | Powered by JetHome®