ソースを参照

Update v4.19 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/d1e77c5126eaef4ad66616dd29ec7859c6ca1105
Maximilian Luz 4 年 前
コミット
b42ff37372

+ 0 - 1
configs/surface-4.19.config

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

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

@@ -1,7 +1,7 @@
-From a475caaa58e185535481400f70ef0bd0c012b13b Mon Sep 17 00:00:00 2001
+From 68915ae484c9d8881ed344ee3c639b1d11d8f29c Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 28 Sep 2019 18:00:43 +0200
-Subject: [PATCH 01/10] surface3-power
+Subject: [PATCH 01/11] surface3-power
 
 ---
  drivers/platform/x86/Kconfig          |   7 +
@@ -11,10 +11,10 @@ Subject: [PATCH 01/10] surface3-power
  create mode 100644 drivers/platform/x86/surface3_power.c
 
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
-index 1e2524de6a63..2ad19dc64a4a 100644
+index a13bb4ddd0cf..0d20ffdb5a67 100644
 --- a/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
-@@ -1160,6 +1160,13 @@ config SURFACE_3_BUTTON
+@@ -1161,6 +1161,13 @@ config SURFACE_3_BUTTON
  	---help---
  	  This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet.
  

+ 2 - 2
patches/4.19/0002-surface3-touchscreen-dma-fix.patch

@@ -1,7 +1,7 @@
-From 55e76b758aa3046850e630d6a4f7faaa16c5322c Mon Sep 17 00:00:00 2001
+From 26e5e3d5780b48ef1f2a7115ef7a1ef1f4bf1e67 Mon Sep 17 00:00:00 2001
 From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 Date: Sun, 5 Jul 2020 14:56:20 +0300
-Subject: [PATCH 02/10] surface3-touchscreen-dma-fix
+Subject: [PATCH 02/11] surface3-touchscreen-dma-fix
 
 ---
  drivers/dma/dw/core.c | 12 ------------

+ 2 - 2
patches/4.19/0003-surface3-oemb.patch

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

+ 2 - 2
patches/4.19/0004-surface-buttons.patch

@@ -1,7 +1,7 @@
-From 8b92bff78f88634721917f3c203dbdaa131edf4d Mon Sep 17 00:00:00 2001
+From b9404424ac5fb0521a36308323493abd8a1d0df7 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 27 Jul 2019 17:51:37 +0200
-Subject: [PATCH 04/10] surface-buttons
+Subject: [PATCH 04/11] surface-buttons
 
 ---
  drivers/input/misc/Kconfig                |   6 +-

+ 4 - 4
patches/4.19/0005-suspend.patch

@@ -1,7 +1,7 @@
-From 9db7f91549a7e2c160ec01e3589f5f7c0d6416a0 Mon Sep 17 00:00:00 2001
+From fb6b7e1a29e622cf19c57c17f397661ec9dae1da Mon Sep 17 00:00:00 2001
 From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
 Date: Sat, 28 Sep 2019 17:48:21 +0200
-Subject: [PATCH 05/10] suspend
+Subject: [PATCH 05/11] suspend
 
 ---
  drivers/nvme/host/core.c |  36 ++++++++++++--
@@ -12,7 +12,7 @@ Subject: [PATCH 05/10] suspend
  5 files changed, 162 insertions(+), 6 deletions(-)
 
 diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
-index 9ea3d8e61100..1bc63549707a 100644
+index b633ea40430e..4993f04a8a58 100644
 --- a/drivers/nvme/host/core.c
 +++ b/drivers/nvme/host/core.c
 @@ -1065,15 +1065,15 @@ static struct nvme_id_ns *nvme_identify_ns(struct nvme_ctrl *ctrl,
@@ -59,7 +59,7 @@ index 9ea3d8e61100..1bc63549707a 100644
  int nvme_set_queue_count(struct nvme_ctrl *ctrl, int *count)
  {
  	u32 q_count = (*count - 1) | ((*count - 1) << 16);
-@@ -3630,6 +3648,18 @@ static void nvme_free_ctrl(struct device *dev)
+@@ -3632,6 +3650,18 @@ static void nvme_free_ctrl(struct device *dev)
  		nvme_put_subsystem(subsys);
  }
  

+ 2 - 2
patches/4.19/0006-ipts.patch

@@ -1,7 +1,7 @@
-From b9f55c5b557f1d88a2cc2570bec9f80aa439d5d1 Mon Sep 17 00:00:00 2001
+From f4a9111f3d630f2ad9a1746caa0d5c0bc319cb13 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 28 Sep 2019 17:58:17 +0200
-Subject: [PATCH 06/10] ipts
+Subject: [PATCH 06/11] ipts
 
 ---
  drivers/gpu/drm/i915/Makefile               |    3 +

+ 2 - 2
patches/4.19/0007-wifi.patch

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

ファイルの差分が大きいため隠しています
+ 2590 - 2217
patches/4.19/0008-surface-sam.patch


+ 4 - 4
patches/4.19/0009-surface-sam-over-hid.patch

@@ -1,7 +1,7 @@
-From ea7396cdf81dde8a89404ae962a1f3c0fa4ceb39 Mon Sep 17 00:00:00 2001
+From 1a31644e36615c46e3a3f748a9ca7734d088fbf2 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 25 Jul 2020 17:19:53 +0200
-Subject: [PATCH 09/10] surface-sam-over-hid
+Subject: [PATCH 09/11] surface-sam-over-hid
 
 ---
  drivers/i2c/i2c-core-acpi.c        |  35 +++++++
@@ -65,10 +65,10 @@ index eb0569359387..c2b5a2aca731 100644
  		dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
  			 accessor_type, client->addr);
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
-index 2ad19dc64a4a..57131ca5eb1e 100644
+index 0d20ffdb5a67..1e1ec7e562e8 100644
 --- a/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
-@@ -1167,6 +1167,13 @@ config SURFACE_3_POWER_OPREGION
+@@ -1168,6 +1168,13 @@ config SURFACE_3_POWER_OPREGION
  	  Select this option to enable support for ACPI operation
  	  region of the Surface 3 battery platform driver.
  

+ 4 - 4
patches/4.19/0010-surface-gpe.patch

@@ -1,7 +1,7 @@
-From 0461bfb515ea6b0e393d06c918090f4534fe793e Mon Sep 17 00:00:00 2001
+From fef8fda488d7c56fad5cf2fe238441f165b12e1d Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sun, 16 Aug 2020 23:39:56 +0200
-Subject: [PATCH 10/10] surface-gpe
+Subject: [PATCH 10/11] surface-gpe
 
 ---
  drivers/platform/x86/Kconfig       |   9 +
@@ -11,10 +11,10 @@ Subject: [PATCH 10/10] surface-gpe
  create mode 100644 drivers/platform/x86/surface_gpe.c
 
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
-index 57131ca5eb1e..e2c05d95f8b2 100644
+index 1e1ec7e562e8..0b50f1e4c437 100644
 --- a/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
-@@ -1174,6 +1174,15 @@ config SURFACE_BOOK1_DGPU_SWITCH
+@@ -1175,6 +1175,15 @@ config SURFACE_BOOK1_DGPU_SWITCH
  	  This driver provides a sysfs switch to set the power-state of the
  	  discrete GPU found on the Microsoft Surface Book 1.
  

+ 70 - 0
patches/4.19/0011-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch

@@ -0,0 +1,70 @@
+From d6a1bcfe65b9c45fedcf19fdcc7d02245a8e09b4 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 11/11] 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 c2b5a2aca731..f9a24b56fec0 100644
+--- a/drivers/i2c/i2c-core-acpi.c
++++ b/drivers/i2c/i2c-core-acpi.c
+@@ -219,6 +219,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;
+@@ -229,6 +230,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 *
+@@ -728,7 +738,6 @@ int i2c_acpi_install_space_handler(struct i2c_adapter *adapter)
+ 		return -ENOMEM;
+ 	}
+ 
+-	acpi_walk_dep_device_list(handle);
+ 	return 0;
+ }
+ 
+-- 
+2.28.0
+

+ 1 - 0
pkg/arch/kernel-lts/0011-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch

@@ -0,0 +1 @@
+../../../patches/4.19/0011-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch

+ 13 - 11
pkg/arch/kernel-lts/PKGBUILD

@@ -30,6 +30,7 @@ source=(
   0008-surface-sam.patch
   0009-surface-sam-over-hid.patch
   0010-surface-gpe.patch
+  0011-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch
 )
 validpgpkeys=(
   'ABAF11C65A2970B130ABE3C479BE3E4300411886'  # Linus Torvalds
@@ -40,17 +41,18 @@ sha256sums=('f2f709ef086a4d8cb3c15a857daa44dfecf1b88d7d7c53c980fb180f6dccbace'
             'SKIP'
             '4e68572e7cc4c5368f0236e0792660ae8498373988625dca46e509399a7eaea6'
             'a13581d3c6dc595206e4fe7fcf6b542e7a1bdbe96101f0f010fc5be49f99baf2'
-            'e34d7cd57431f26d6da83f7b71f66116c81089fd3d5fc149d1020be54bb6ec72'
-            'cab05db8d6b4c7cec18acb4feefa9be871146a066afcab75901c5aeef0cbd723'
-            'c5064dbda8c1da8edd394f178e4bb0eff9fea624fd2d187649749a9dc8b7d194'
-            'e823d4ff94b6d715923772d8ee44c9949e6f79e9258977a89e709ed1fe62a1af'
-            'eed4b20c1c41c78314a3ada3323622d04809c93adab178e68eae04680aa3dc91'
-            '516929e55a36d94fb803b9ad8f5760bace3dec138fcdba62cfea82af0f57320b'
-            '6d2d74dcc481be1d9db80fbe2a09fc358fe8d03d28ecbc5fc3e92c4c4d99e35d'
-            '9627632dad1e8ec117118f9c6bfa2c9eda829bf96bf7a2a5e301ff8e7958973e'
-            '3d90363a51b87544425f41e002c02d094820c33b8e64eb610b12d09eefcea870'
-            'b8b63934eb256b4ace372a145595e98b548af8bf58f9eb1e1930bec98b1dc6cc'
-            '6017221395b343c90d575344f76eb27de8b0917d420c811e72e11e70340c8814')
+            '1c4963e4a911e74ed56f1fe0065c31201edca9a5e3f89eb30b7063f9981ebdd8'
+            '3892c3974f53e87e2efa059326359c3108bba1a411eecd5a2b614174384e8755'
+            'e73d7567a23d10babda2124a65337c8f57ff61fbb1c65a629afdfcc7a3d542e2'
+            '33c4264b920e2e4466de8369e3f2fcf3383c2e0eb68dacff82e107ae9f8d2354'
+            '20c72eea089af4ca105bec93bd7c7e91c2e8fbe5d24c88188e4ca2c77699a7ab'
+            '776ce945b51e59c543e19cc9e006b5047b22ec06255c2cce1163152aa3c65894'
+            '6185565a16689190140e6fe19df4d51fac4eeb1ac4a927855ec555f2274d7d0c'
+            'd205cf4756307c6c0909e26ca4b2ca45354a82df29255cd5809caf4b6aed41e1'
+            '8d7e5e77eac47a9750530813894067348985f2ece285d995b721c368d512fe14'
+            '058ac04d25069f51f0d8899e78c3f089155e0c2aeb47ee4c6befc9db1a8f959b'
+            '842832fd4356fc24f191674b96aab9ee3d140f00ca3d32fd453a159f596d822e'
+            '2739e3f2d0e70ce40c52b3d550aa4ac7073c2d6bbe5fd684fb981f02f32d373e')
 
 export KBUILD_BUILD_HOST=archlinux
 export KBUILD_BUILD_USER=$pkgbase

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません