linux-efi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] Apple device properties
@ 2016-07-27 11:20 Lukas Wunner
  2016-07-27 11:20 ` [PATCH 5/6] efi: Assign " Lukas Wunner
                   ` (5 more replies)
  0 siblings, 6 replies; 25+ messages in thread
From: Lukas Wunner @ 2016-07-27 11:20 UTC (permalink / raw)
  To: linux-efi-u79uwXL29TY76Z2rM5mHXA, Matt Fleming,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: Andreas Noever, Pierre Moreau, reverser-P1ImLx+pFc0,
	grub-devel-mXXj517/zsQ, x86-DgEjT+Ai2ygdnm+yROfE0A,
	Aleksey Makarov, Rafael J. Wysocki, Mika Westerberg,
	Andy Shevchenko, Greg Kroah-Hartman

Apple EFI drivers supply device properties which are needed to support
Macs optimally.

This series extends the efistub to retrieve the device properties before
ExitBootServices is called (patch [1/6]). They are assigned to devices
in an fs_initcall (patch [5/6]). As a first use case, the Thunderbolt
driver is amended to take advantage of the Device ROM supplied by EFI
(patch [6/6]).

A by-product is a parser for EFI Device Paths which finds the struct
device corresponding to a given path. This is needed to assign
properties to their devices (patch [3/6]).


I've pushed these patches to GitHub where they can be reviewed more
comfortably with green/red highlighting:
https://github.com/l1k/linux/commits/apple_properties_v1


It would be good if one of the resident EFI experts could look over
patch [1/6] to see if I've made any mistakes that might prevent this
from working on 32 bit. It was only tested on 64 bit, I don't know
anyone with an older Mac who could test this.

Specifically, is the following okay:
efi_early->call((unsigned long)sys_table->boottime->locate_protocol, ...)

It would be convenient to have LocateProtocol or LocateHandleBuffer in
struct efi_config so that they can be called with efi_call_early().
Would a patch to add those be entertained? Right now we only offer
LocateHandle and HandleProtocol, which is somewhat cumbersome and
needs more code as the setup_pci() functions show.

Thanks,

Lukas


Lukas Wunner (6):
  efi: Retrieve Apple device properties
  ACPI / bus: Make acpi_get_first_physical_node() public
  efi: Add device path parser
  driver core: Don't leak secondary fwnode on device removal
  efi: Assign Apple device properties
  thunderbolt: Use Device ROM retrieved from EFI

 Documentation/kernel-parameters.txt     |   5 +
 arch/x86/boot/compressed/eboot.c        |  55 ++++++++
 arch/x86/include/uapi/asm/bootparam.h   |   1 +
 drivers/acpi/internal.h                 |   1 -
 drivers/base/core.c                     |   1 +
 drivers/firmware/efi/Kconfig            |  16 +++
 drivers/firmware/efi/Makefile           |   2 +
 drivers/firmware/efi/apple-properties.c | 219 ++++++++++++++++++++++++++++++++
 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 ++++++
 14 files changed, 574 insertions(+), 2 deletions(-)
 create mode 100644 drivers/firmware/efi/apple-properties.c
 create mode 100644 drivers/firmware/efi/dev-path-parser.c

-- 
2.8.1

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2016-09-12 22:03 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-27 11:20 [PATCH 0/6] Apple device properties Lukas Wunner
2016-07-27 11:20 ` [PATCH 5/6] efi: Assign " Lukas Wunner
     [not found]   ` <a0edd928ab099682c2cb4c4544c599573144d03a.1469616641.git.lukas-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2016-08-04 15:52     ` Matt Fleming
2016-07-27 11:20 ` [PATCH 2/6] ACPI / bus: Make acpi_get_first_physical_node() public Lukas Wunner
2016-08-17  0:38   ` Rafael J. Wysocki
     [not found]     ` <1821462.QyPXGhZaWJ-sKB8Sp2ER+y1GS7QM15AGw@public.gmane.org>
2016-09-12 22:03       ` Rafael J. Wysocki
     [not found] ` <cover.1469616641.git.lukas-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2016-07-27 11:20   ` [PATCH 1/6] efi: Retrieve Apple device properties Lukas Wunner
2016-07-30 19:16     ` Andrei Borzenkov
2016-08-04 15:13     ` Matt Fleming
     [not found]       ` <20160804151345.GM3636-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-08-05 11:42         ` Lukas Wunner
2016-08-05 12:06           ` Matt Fleming
2016-07-27 11:20   ` [PATCH 4/6] driver core: Don't leak secondary fwnode on device removal Lukas Wunner
2016-08-17  0:38     ` Rafael J. Wysocki
2016-08-30  9:03       ` Lukas Wunner
2016-09-12 22:03         ` Rafael J. Wysocki
2016-07-27 23:48   ` [PATCH 0/6] Apple device properties Rafael J. Wysocki
2016-07-27 11:20 ` [PATCH 6/6] thunderbolt: Use Device ROM retrieved from EFI Lukas Wunner
2016-07-27 11:20 ` [PATCH 3/6] efi: Add device path parser Lukas Wunner
2016-08-04 14:57 ` [PATCH 0/6] Apple device properties Matt Fleming
2016-08-09 13:38   ` Lukas Wunner
2016-08-15 11:54     ` Matt Fleming
2016-08-15 16:13       ` Lukas Wunner
2016-08-18 20:34         ` Matt Fleming
     [not found]           ` <20160818203433.GP30909-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-08-22  9:58             ` Lukas Wunner
2016-08-24 19:49               ` Matt Fleming

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).