From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935840AbcIGKtA (ORCPT ); Wed, 7 Sep 2016 06:49:00 -0400 Received: from mailout3.hostsharing.net ([176.9.242.54]:48545 "EHLO mailout3.hostsharing.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933765AbcIGKs6 (ORCPT ); Wed, 7 Sep 2016 06:48:58 -0400 X-Mailbox-Line: From c7da04f16d1d4ed6a3767dfb1897532d20fd7b2f Mon Sep 17 00:00:00 2001 Message-Id: From: Lukas Wunner Date: Wed, 7 Sep 2016 12:49:18 +0200 Subject: [PATCH v2 0/4] Apple device properties To: linux-efi@vger.kernel.org, Matt Fleming , linux-kernel@vger.kernel.org Cc: Andreas Noever , grub-devel@gnu.org, x86@kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Retrieve device properties from EFI on Macs before ExitBootServices is called and assign them to devices (patch [3/4]). The devices that properties pertain to are encoded as EFI Device Paths, so add a parser for these (patch [2/4]). As a first use case, amend the Thunderbolt driver to take advantage of the Device ROM supplied by EFI (patch [4/4]). Patch [1/4] is already queued in Rafael J. Wysocki's tree for 4.9 and is included here only because patch [2/4] wouldn't compile without it. The series also depends on these two patches which are already queued in Matt's tree for 4.9: - x86/efi: Optimize away setup_gop32/64 if unused https://patchwork.kernel.org/patch/9315763/ - x86/efi: Allow invocation of arbitrary boot services https://patchwork.kernel.org/patch/9293371/ Changes since v1: - Previously there were two separate patches for retrieving properties and assigning them to devices. These are now squashed together in patch [3/4]. (Requested by Matt Fleming.) - The version of the EFI properties protocol as well as the properties payload is now checked. - Applied a bit of polish all over. Link to v1: https://lkml.org/lkml/2016/7/27/218 Browseable on GitHub: https://github.com/l1k/linux/commits/apple_properties_v2 Thanks, Lukas Lukas Wunner (4): ACPI / bus: Make acpi_get_first_physical_node() public efi: Add device path parser x86/efi: Retrieve and assign Apple device properties thunderbolt: Use Device ROM retrieved from EFI Documentation/kernel-parameters.txt | 5 + arch/x86/boot/compressed/eboot.c | 63 +++++++++ arch/x86/include/uapi/asm/bootparam.h | 1 + drivers/acpi/internal.h | 1 - drivers/firmware/efi/Kconfig | 18 +++ drivers/firmware/efi/Makefile | 2 + drivers/firmware/efi/apple-properties.c | 230 ++++++++++++++++++++++++++++++++ drivers/firmware/efi/dev-path-parser.c | 186 ++++++++++++++++++++++++++ drivers/thunderbolt/Kconfig | 1 + drivers/thunderbolt/eeprom.c | 42 ++++++ drivers/thunderbolt/switch.c | 2 +- include/linux/acpi.h | 7 + include/linux/efi.h | 38 ++++++ 13 files changed, 594 insertions(+), 2 deletions(-) create mode 100644 drivers/firmware/efi/apple-properties.c create mode 100644 drivers/firmware/efi/dev-path-parser.c -- 2.9.3