浏览代码

Update v5.4 patches

Changes:
 - SAM:
   - Merge keyboard and HID driver into single module
   - Restructure DTX user-space interface
   - Add DTX support for Surface Book 3
   - Continued cleanup and misc. fixes

 - other:
   - Add patch to fix boot problems on the Surface Go series

Links:
- SAM: https://github.com/linux-surface/surface-aggregator-module/commit/bfef4ac6f8f83bbf48ee23f364f875d96b057e88
- kernel: https://github.com/linux-surface/kernel/commit/2bf85a4170bf9c82a6c58656fab5223d7e88fa2f
Maximilian Luz 4 年之前
父节点
当前提交
d0b1e651ba

+ 0 - 1
configs/surface-5.4.config

@@ -12,7 +12,6 @@ CONFIG_SURFACE_BATTERY=m
 CONFIG_SURFACE_DTX=m
 CONFIG_SURFACE_DTX=m
 CONFIG_SURFACE_HID=m
 CONFIG_SURFACE_HID=m
 CONFIG_SURFACE_HOTPLUG=m
 CONFIG_SURFACE_HOTPLUG=m
-CONFIG_SURFACE_KEYBOARD=m
 CONFIG_SURFACE_PERFMODE=m
 CONFIG_SURFACE_PERFMODE=m
 
 
 #
 #

+ 4 - 4
patches/5.4/0001-surface3-power.patch

@@ -1,7 +1,7 @@
-From 1a4864ceb034b562b4628cbf69f96025fe61498e Mon Sep 17 00:00:00 2001
+From cea7d9a2a9272d208417165c2931bd18e7728b60 Mon Sep 17 00:00:00 2001
 From: qzed <qzed@users.noreply.github.com>
 From: qzed <qzed@users.noreply.github.com>
 Date: Tue, 17 Sep 2019 17:17:56 +0200
 Date: Tue, 17 Sep 2019 17:17:56 +0200
-Subject: [PATCH 1/7] surface3-power
+Subject: [PATCH 1/8] surface3-power
 
 
 ---
 ---
  drivers/platform/x86/Kconfig          |   7 +
  drivers/platform/x86/Kconfig          |   7 +
@@ -11,10 +11,10 @@ Subject: [PATCH 1/7] surface3-power
  create mode 100644 drivers/platform/x86/surface3_power.c
  create mode 100644 drivers/platform/x86/surface3_power.c
 
 
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
-index 1cab99320514..348c795019fa 100644
+index 000d5693fae7..56b1cf96ff57 100644
 --- a/drivers/platform/x86/Kconfig
 --- a/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
-@@ -1209,6 +1209,13 @@ config SURFACE_3_BUTTON
+@@ -1210,6 +1210,13 @@ config SURFACE_3_BUTTON
  	---help---
  	---help---
  	  This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet.
  	  This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet.
  
  

+ 2 - 2
patches/5.4/0002-surface3-oemb.patch

@@ -1,7 +1,7 @@
-From 96d000383cb1ed320a0aaaf584e1e8d7a9600d70 Mon Sep 17 00:00:00 2001
+From a0bb18b7b173214237fd0d459979ec6204e350d8 Mon Sep 17 00:00:00 2001
 From: Chih-Wei Huang <cwhuang@linux.org.tw>
 From: Chih-Wei Huang <cwhuang@linux.org.tw>
 Date: Tue, 18 Sep 2018 11:01:37 +0800
 Date: Tue, 18 Sep 2018 11:01:37 +0800
-Subject: [PATCH 2/7] surface3-oemb
+Subject: [PATCH 2/8] surface3-oemb
 
 
 ---
 ---
  drivers/platform/x86/surface3-wmi.c               | 7 +++++++
  drivers/platform/x86/surface3-wmi.c               | 7 +++++++

+ 2 - 2
patches/5.4/0003-wifi.patch

@@ -1,7 +1,7 @@
-From efb05978b88476658030f3df4bc4fccf5412d0a3 Mon Sep 17 00:00:00 2001
+From 3c7c2507efd9b6598e440097e068354292cc5566 Mon Sep 17 00:00:00 2001
 From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
 From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
 Date: Thu, 20 Feb 2020 16:51:11 +0900
 Date: Thu, 20 Feb 2020 16:51:11 +0900
-Subject: [PATCH 3/7] wifi
+Subject: [PATCH 3/8] wifi
 
 
 ---
 ---
  drivers/net/wireless/marvell/mwifiex/Makefile |   1 +
  drivers/net/wireless/marvell/mwifiex/Makefile |   1 +

+ 2 - 2
patches/5.4/0004-ipts.patch

@@ -1,7 +1,7 @@
-From 36b4d65d6e3d0d57b3d718d6d771697374d7333e Mon Sep 17 00:00:00 2001
+From 5f39b676103581dcfa4702ea3f921729c4c9a982 Mon Sep 17 00:00:00 2001
 From: Dorian Stoll <dorian.stoll@tmsp.io>
 From: Dorian Stoll <dorian.stoll@tmsp.io>
 Date: Mon, 27 Jan 2020 21:16:20 +0100
 Date: Mon, 27 Jan 2020 21:16:20 +0100
-Subject: [PATCH 4/7] ipts
+Subject: [PATCH 4/8] ipts
 
 
 ---
 ---
  drivers/input/touchscreen/Kconfig             |   2 +
  drivers/input/touchscreen/Kconfig             |   2 +

文件差异内容过多而无法显示
+ 2590 - 2221
patches/5.4/0005-surface-sam.patch


+ 4 - 4
patches/5.4/0006-surface-sam-over-hid.patch

@@ -1,7 +1,7 @@
-From b69e689ae47f7f4059ef86a55bcc1dfe7511770d Mon Sep 17 00:00:00 2001
+From a813aa2d1afcf8c4ca1eb6c200d6bb847da547ac Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 25 Jul 2020 17:19:53 +0200
 Date: Sat, 25 Jul 2020 17:19:53 +0200
-Subject: [PATCH 6/7] surface-sam-over-hid
+Subject: [PATCH 6/8] surface-sam-over-hid
 
 
 ---
 ---
  drivers/i2c/i2c-core-acpi.c        |  35 +++++++
  drivers/i2c/i2c-core-acpi.c        |  35 +++++++
@@ -65,10 +65,10 @@ index ce70b5288472..5df647c4d9a5 100644
  		dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
  		dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
  			 accessor_type, client->addr);
  			 accessor_type, client->addr);
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
-index 348c795019fa..5495e3702f65 100644
+index 56b1cf96ff57..9fc01f255cbf 100644
 --- a/drivers/platform/x86/Kconfig
 --- a/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
-@@ -1216,6 +1216,13 @@ config SURFACE_3_POWER_OPREGION
+@@ -1217,6 +1217,13 @@ config SURFACE_3_POWER_OPREGION
  	  Select this option to enable support for ACPI operation
  	  Select this option to enable support for ACPI operation
  	  region of the Surface 3 battery platform driver.
  	  region of the Surface 3 battery platform driver.
  
  

+ 4 - 4
patches/5.4/0007-surface-gpe.patch

@@ -1,7 +1,7 @@
-From 144eaf2cde36eeb9b24659205dd363a00116dc82 Mon Sep 17 00:00:00 2001
+From f2720bcc54e287b7c7158e9b57553720ed9eab3b Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sun, 16 Aug 2020 23:39:56 +0200
 Date: Sun, 16 Aug 2020 23:39:56 +0200
-Subject: [PATCH 7/7] surface-gpe
+Subject: [PATCH 7/8] surface-gpe
 
 
 ---
 ---
  drivers/platform/x86/Kconfig       |   9 +
  drivers/platform/x86/Kconfig       |   9 +
@@ -11,10 +11,10 @@ Subject: [PATCH 7/7] surface-gpe
  create mode 100644 drivers/platform/x86/surface_gpe.c
  create mode 100644 drivers/platform/x86/surface_gpe.c
 
 
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
-index 5495e3702f65..e0af35fed2d5 100644
+index 9fc01f255cbf..f5623ec8eda5 100644
 --- a/drivers/platform/x86/Kconfig
 --- a/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
-@@ -1223,6 +1223,15 @@ config SURFACE_BOOK1_DGPU_SWITCH
+@@ -1224,6 +1224,15 @@ config SURFACE_BOOK1_DGPU_SWITCH
  	  This driver provides a sysfs switch to set the power-state of the
  	  This driver provides a sysfs switch to set the power-state of the
  	  discrete GPU found on the Microsoft Surface Book 1.
  	  discrete GPU found on the Microsoft Surface Book 1.
  
  

+ 70 - 0
patches/5.4/0008-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch

@@ -0,0 +1,70 @@
+From c7cd4ee28f95e353406fdb98ffcb168974ecf638 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Wed, 14 Oct 2020 16:41:58 +0200
+Subject: [PATCH 8/8] i2c: core: Restore acpi_walk_dep_device_list() getting
+ called after registering the ACPI i2c devs
+
+Commit 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler()
+before i2c_acpi_register_devices()")'s intention was to only move the
+acpi_install_address_space_handler() call to the point before where
+the ACPI declared i2c-children of the adapter where instantiated by
+i2c_acpi_register_devices().
+
+But i2c_acpi_install_space_handler() had a call to
+acpi_walk_dep_device_list() hidden (that is I missed it) at the end
+of it, so as an unwanted side-effect now acpi_walk_dep_device_list()
+was also being called before i2c_acpi_register_devices().
+
+Move the acpi_walk_dep_device_list() call to the end of
+i2c_acpi_register_devices(), so that it is once again called *after*
+the i2c_client-s hanging of the adapter have been created.
+
+This fixes the Microsoft Surface Go 2 hanging at boot.
+
+Fixes: 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()")
+Suggested-by: Maximilian Luz <luzmaximilian@gmail.com>
+Reported-and-tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ drivers/i2c/i2c-core-acpi.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
+index 5df647c4d9a5..1c90651161a6 100644
+--- a/drivers/i2c/i2c-core-acpi.c
++++ b/drivers/i2c/i2c-core-acpi.c
+@@ -264,6 +264,7 @@ static acpi_status i2c_acpi_add_device(acpi_handle handle, u32 level,
+ void i2c_acpi_register_devices(struct i2c_adapter *adap)
+ {
+ 	acpi_status status;
++	acpi_handle handle;
+ 
+ 	if (!has_acpi_companion(&adap->dev))
+ 		return;
+@@ -274,6 +275,15 @@ void i2c_acpi_register_devices(struct i2c_adapter *adap)
+ 				     adap, NULL);
+ 	if (ACPI_FAILURE(status))
+ 		dev_warn(&adap->dev, "failed to enumerate I2C slaves\n");
++
++	if (!adap->dev.parent)
++		return;
++
++	handle = ACPI_HANDLE(adap->dev.parent);
++	if (!handle)
++		return;
++
++	acpi_walk_dep_device_list(handle);
+ }
+ 
+ const struct acpi_device_id *
+@@ -772,7 +782,6 @@ int i2c_acpi_install_space_handler(struct i2c_adapter *adapter)
+ 		return -ENOMEM;
+ 	}
+ 
+-	acpi_walk_dep_device_list(handle);
+ 	return 0;
+ }
+ 
+-- 
+2.28.0
+

部分文件因为文件数量过多而无法显示