Hi This is version 3 of my Thunderbolt driver for Apple hardware (see [1] for v2). Changes since v2: - Use pci quirks instead of changing the pcie port driver. - Relax the DMI checks to run on all MacBooks with a Cactus Ridge chip (MBP Mid 2012 - Early 2013, MBA Mid 2012 - Early 2014). I have tested the driver on my early 2013 MBP and have gotten reports of it working on a MBA mid 2013). - Fix some typos. Limitations & Notes: - No chaining - No Apple TB display (non TB displays work) - Requires Matthew's acpi fixes [2] - Hibernate only works if you resume with the same (or similar) devices as during the initial boot. The memory layout reported by efi depends on whether TB devices are connected during boot and linux refuses to resumeif the total amount of memory differs. Suspend works fine. - No device handoff. The driver will not properly resume a device that was initially coldplugged. Unplug/replug works fine though. To ease testing a git repository based on 3.15-rc7 can be found at: https://github.com/anoever/thunderbolt The repository includes Matthew's patches. Would it be possible to get this into 3.16? Thanks, Andreas [1]: https://lkml.org/lkml/2014/4/10/681 [2]: https://lkml.org/lkml/2014/3/11/619 Andreas Noever (15): thunderbolt: Add initial cactus ridge NHI support thunderbolt: Add control channel interface thunderbolt: Setup control channel thunderbolt: Add tb_regs.h thunderbolt: Initialize root switch and ports thunderbolt: Add thunderbolt capability handling thunderbolt: Enable plug events thunderbolt: Scan for downstream switches thunderbolt: Handle hotplug events thunderbolt: Add path setup code. thunderbolt: Add support for simple pci tunnels. pci: Add pci_fixup_suspend_late quirk pass. pci: Suspend/resume quirks for appel thunderbolt thunderbolt: Read switch uid from EEPROM thunderbolt: Add suspend/hibernate support drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/pci/pci-driver.c | 18 +- drivers/pci/quirks.c | 129 +++++++ drivers/thunderbolt/Kconfig | 12 + drivers/thunderbolt/Makefile | 3 + drivers/thunderbolt/cap.c | 116 ++++++ drivers/thunderbolt/ctl.c | 731 ++++++++++++++++++++++++++++++++++++++ drivers/thunderbolt/ctl.h | 75 ++++ drivers/thunderbolt/eeprom.c | 189 ++++++++++ drivers/thunderbolt/nhi.c | 672 +++++++++++++++++++++++++++++++++++ drivers/thunderbolt/nhi.h | 114 ++++++ drivers/thunderbolt/nhi_regs.h | 101 ++++++ drivers/thunderbolt/path.c | 215 +++++++++++ drivers/thunderbolt/switch.c | 492 +++++++++++++++++++++++++ drivers/thunderbolt/tb.c | 431 ++++++++++++++++++++++ drivers/thunderbolt/tb.h | 266 ++++++++++++++ drivers/thunderbolt/tb_regs.h | 213 +++++++++++ drivers/thunderbolt/tunnel_pci.c | 232 ++++++++++++ drivers/thunderbolt/tunnel_pci.h | 30 ++ include/asm-generic/vmlinux.lds.h | 3 + include/linux/pci.h | 12 +- 22 files changed, 4052 insertions(+), 5 deletions(-) create mode 100644 drivers/thunderbolt/Kconfig create mode 100644 drivers/thunderbolt/Makefile create mode 100644 drivers/thunderbolt/cap.c create mode 100644 drivers/thunderbolt/ctl.c create mode 100644 drivers/thunderbolt/ctl.h create mode 100644 drivers/thunderbolt/eeprom.c create mode 100644 drivers/thunderbolt/nhi.c create mode 100644 drivers/thunderbolt/nhi.h create mode 100644 drivers/thunderbolt/nhi_regs.h create mode 100644 drivers/thunderbolt/path.c create mode 100644 drivers/thunderbolt/switch.c create mode 100644 drivers/thunderbolt/tb.c create mode 100644 drivers/thunderbolt/tb.h create mode 100644 drivers/thunderbolt/tb_regs.h create mode 100644 drivers/thunderbolt/tunnel_pci.c create mode 100644 drivers/thunderbolt/tunnel_pci.h -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html