Hi, Updated version of the driver. Includes changes by Matthew to make it work on Falcon Ridge hardware (present in the newest Mac(Book)Pro). Changes since v4 (suggested by Matthew): - Changed the PCI quirks to check just for Apple hardware instead of checking against a list of machines. (The PCI id check already restricts this quirk to the relevant Apple machines). - Added Falcon Ridge PCI id to the driver and to the "wait_for_thunderbolt" quirk (the "poweroff_thunderbolt" quirk is no longer necessary for Falcon Ridge devices). - Fixed plug events for Falcon Ridge hardware. @Matthew: I think that your patch was missing the Falcon Ridge PCI id within the wait_for_thunderbolt quirk (I have added it). If you have time could you verify that suspend/resume works on your MacPro? Thanks! As before Matthew's ACPI changes (latest version: [1]) are required for this to work properly. Without them you need to boot with a coldplugged TB device to prevent the firmware from disabling the controller. Thanks, Andreas [1]: https://lkml.org/lkml/2014/6/1/165 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 Apple 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 | 104 ++++++ 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 | 677 +++++++++++++++++++++++++++++++++++ drivers/thunderbolt/nhi.h | 114 ++++++ drivers/thunderbolt/nhi_regs.h | 101 ++++++ drivers/thunderbolt/path.c | 215 +++++++++++ drivers/thunderbolt/switch.c | 498 ++++++++++++++++++++++++++ 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, 4038 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 -- 2.0.0 -- 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