Ver Fonte

Update v4.19 patches

Changes:
 - Code cleanup and small fixes

Links:
 - kernel: https://github.com/linux-surface/kernel/commit/e394f9b2d2c9b2200a91bf9b31c9a451ab3e58fc
 - SAM: https://github.com/linux-surface/surface-aggregator-module/commit/ff044c7463452eb5c107f51af6f4c7007726bb16
Maximilian Luz há 4 anos atrás
pai
commit
a859c34e49

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

@@ -1,4 +1,4 @@
-From f5410861def5b9d4114cea50e8a9e494775444d4 Mon Sep 17 00:00:00 2001
+From 61ca2f2e30f17953799b79b30fc9f0579fdc4209 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 28 Sep 2019 18:00:43 +0200
 Subject: [PATCH] platform/x86: Surface 3 battery platform operation region
@@ -653,5 +653,5 @@ index 000000000000..e0af01a60302
 +MODULE_DESCRIPTION("mshw0011 driver");
 +MODULE_LICENSE("GPL v2");
 -- 
-2.31.0
+2.31.1
 

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

@@ -1,4 +1,4 @@
-From eab6e10d8f4bf13d5e59eaf2bc0cba17bb5279a6 Mon Sep 17 00:00:00 2001
+From 0fc7c7375185616722dbd0040a8dd828f168a036 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] dmaengine: dw: Initialize channel before each transfer
@@ -85,5 +85,5 @@ index 055d83b6cb68..acf64302a2b2 100644
  	channel_clear_bit(dw, MASK.XFER, dwc->mask);
  	channel_clear_bit(dw, MASK.BLOCK, dwc->mask);
 -- 
-2.31.0
+2.31.1
 

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

@@ -1,4 +1,4 @@
-From 4822c9d25544a890a6485a2201e103e7655846ea Mon Sep 17 00:00:00 2001
+From c27b1038ae03251b453c3794374a0370757499ce Mon Sep 17 00:00:00 2001
 From: Tsuchiya Yuto <kitakar@gmail.com>
 Date: Sun, 18 Oct 2020 16:42:44 +0900
 Subject: [PATCH] (surface3-oemb) add DMI matches for Surface 3 with broken DMI
@@ -97,5 +97,5 @@ index 91bb99b69601..8418938b32ad 100644
  };
  
 -- 
-2.31.0
+2.31.1
 

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

@@ -1,4 +1,4 @@
-From 6f862b10740b4832f506bdf830e23ce7f69a0ce4 Mon Sep 17 00:00:00 2001
+From a4d4ed5bc46a51fac789e8647af0acea820e2a6b Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 27 Jul 2019 17:51:37 +0200
 Subject: [PATCH] platform/x86: surfacepro3_button: Fix device check
@@ -90,9 +90,9 @@ index 1b491690ce07..96627627060e 100644
  	if (!button)
  		return -ENOMEM;
 -- 
-2.31.0
+2.31.1
 
-From 36c9bc38819cd223d04caf2d13949add3b8b7aa8 Mon Sep 17 00:00:00 2001
+From 729d663d8416906b5f1d8ab6ad80cc026154fee8 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 27 Jul 2019 17:52:01 +0200
 Subject: [PATCH] Input: soc_button_array - Add support for newer surface
@@ -295,9 +295,9 @@ index 55cd6e0b409c..8f21c062c85d 100644
  };
  
 -- 
-2.31.0
+2.31.1
 
-From 42af0e3b3b49b50060d75e79523a0713b3447118 Mon Sep 17 00:00:00 2001
+From 94f601f54bd5f25ae840ff65fb98a437cca93ce7 Mon Sep 17 00:00:00 2001
 From: Hans de Goede <hdegoide@redhat.com>
 Date: Sat, 5 Oct 2019 14:11:58 +0200
 Subject: [PATCH] Input: soc_button_array - partial revert of support for newer
@@ -384,9 +384,9 @@ index 8f21c062c85d..5983733d78dd 100644
  		}
  
 -- 
-2.31.0
+2.31.1
 
-From 52525e5b46b1ee8c0a4dcf137469e4cc7a01deda Mon Sep 17 00:00:00 2001
+From 0a3fde37ba31241ad9148cfd4c92133e7447abf1 Mon Sep 17 00:00:00 2001
 From: "Tsuchiya Yuto (kitakar5525)" <kitakar@gmail.com>
 Date: Mon, 11 May 2020 17:40:21 +0900
 Subject: [PATCH] Input: soc_button_array - fix Wdiscarded-qualifiers for
@@ -436,5 +436,5 @@ index 5983733d78dd..c564ea99f47d 100644
  	return 0;
  }
 -- 
-2.31.0
+2.31.1
 

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

@@ -1,4 +1,4 @@
-From 8707dd1898f9164064fc1f39818c61bb1a98abdb Mon Sep 17 00:00:00 2001
+From a1ebfd672eafc3b28b2019f2a5c5589fc7860d11 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] nvme: Backport changes for suspend
@@ -330,5 +330,5 @@ index 2fda9893962d..ec6c48ecd7d5 100644
  
  #ifdef CONFIG_PCIEAER
 -- 
-2.31.0
+2.31.1
 

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

@@ -1,4 +1,4 @@
-From be84eea2e762521098674e9eae11630c706838b9 Mon Sep 17 00:00:00 2001
+From 9d361283da0944726803d0aa404f99394aaa46dc Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 28 Sep 2019 17:58:17 +0200
 Subject: [PATCH] Add support for Intel IPTS touch devices
@@ -7310,5 +7310,5 @@ index 000000000000..f229a3436851
 +
 +#endif // IPTS_H
 -- 
-2.31.0
+2.31.1
 

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

@@ -1,4 +1,4 @@
-From 381cfd496c4a36e9a9c98c9cb10817748a85fab0 Mon Sep 17 00:00:00 2001
+From e0bcc29f91b8ed15b0f7611b31c773ba64447358 Mon Sep 17 00:00:00 2001
 From: Chuhong Yuan <hslester96@gmail.com>
 Date: Wed, 24 Jul 2019 19:27:45 +0800
 Subject: [PATCH] mwifiex: pcie: Use dev_get_drvdata
@@ -47,9 +47,9 @@ index 5907b34037c2..4e655038e3f3 100644
  	if (!card->adapter) {
  		dev_err(dev, "adapter structure is not valid\n");
 -- 
-2.31.0
+2.31.1
 
-From 973c728899bba7404f9d5755ae7e880876dbce8b Mon Sep 17 00:00:00 2001
+From 25d84e2b6bdc2a118717477cc0ad8524ccf07266 Mon Sep 17 00:00:00 2001
 From: Tsuchiya Yuto <kitakar@gmail.com>
 Date: Mon, 28 Sep 2020 17:46:49 +0900
 Subject: [PATCH] mwifiex: pcie: add DMI-based quirk impl for Surface devices
@@ -255,9 +255,9 @@ index 000000000000..5326ae7e5671
 +
 +void mwifiex_initialize_quirks(struct pcie_service_card *card);
 -- 
-2.31.0
+2.31.1
 
-From db7083346e3a91c4f8cff336c403a668a6435005 Mon Sep 17 00:00:00 2001
+From 94e02e6bd4d4a8017f3d8ff6336873ef5f46e36f Mon Sep 17 00:00:00 2001
 From: Tsuchiya Yuto <kitakar@gmail.com>
 Date: Tue, 29 Sep 2020 17:25:22 +0900
 Subject: [PATCH] mwifiex: pcie: add reset_d3cold quirk for Surface gen4+
@@ -456,9 +456,9 @@ index 5326ae7e5671..8b9dcb5070d8 100644
  void mwifiex_initialize_quirks(struct pcie_service_card *card);
 +int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
 -- 
-2.31.0
+2.31.1
 
-From 6032ac4b5d1188d9d139daf7c80e7cb45b3b6b17 Mon Sep 17 00:00:00 2001
+From 8cbafb423098c9c19014854564167d1b3a38ddb8 Mon Sep 17 00:00:00 2001
 From: Tsuchiya Yuto <kitakar@gmail.com>
 Date: Tue, 29 Sep 2020 17:32:22 +0900
 Subject: [PATCH] mwifiex: pcie: add reset_wsid quirk for Surface 3
@@ -635,9 +635,9 @@ index 8b9dcb5070d8..3ef7440418e3 100644
  int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
 +int mwifiex_pcie_reset_wsid_quirk(struct pci_dev *pdev);
 -- 
-2.31.0
+2.31.1
 
-From f30cabee7e9b6b63ec9509e3d8314d4e2f563597 Mon Sep 17 00:00:00 2001
+From e42f6a01a7df6a9a72aebd65901c7eef31407299 Mon Sep 17 00:00:00 2001
 From: Tsuchiya Yuto <kitakar@gmail.com>
 Date: Wed, 30 Sep 2020 18:08:24 +0900
 Subject: [PATCH] mwifiex: pcie: (OEMB) add quirk for Surface 3 with broken DMI
@@ -697,9 +697,9 @@ index f0a6fa0a7ae5..34dcd84f02a6 100644
  		.ident = "Surface Pro 3",
  		.matches = {
 -- 
-2.31.0
+2.31.1
 
-From d5f4b2b092a6cf31f484231426d0352c7321d50e Mon Sep 17 00:00:00 2001
+From fb4379da8742af3aac84aa947883c18678500a7b Mon Sep 17 00:00:00 2001
 From: Tsuchiya Yuto <kitakar@gmail.com>
 Date: Sun, 4 Oct 2020 00:11:49 +0900
 Subject: [PATCH] mwifiex: pcie: disable bridge_d3 for Surface gen4+
@@ -852,9 +852,9 @@ index 3ef7440418e3..a95ebac06e13 100644
  void mwifiex_initialize_quirks(struct pcie_service_card *card);
  int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
 -- 
-2.31.0
+2.31.1
 
-From de0b4e918cbe3566f719a29ec5b137021bef9325 Mon Sep 17 00:00:00 2001
+From a6a98568c627c55302f52af4dfd4cb29f54d20a6 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Tue, 10 Nov 2020 12:49:56 +0100
 Subject: [PATCH] mwifiex: Use non-posted PCI register writes
@@ -909,9 +909,9 @@ index d0e002cfc295..aae276fc1155 100644
  }
  
 -- 
-2.31.0
+2.31.1
 
-From 5b6607f4d0c226f71a9b7415f09ae2f938d8215b Mon Sep 17 00:00:00 2001
+From 60368a2865bcd77e2310d7df94a7cb174aca0c8b Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Tue, 3 Nov 2020 13:28:04 +0100
 Subject: [PATCH] mwifiex: Add quirk resetting the PCI bridge on MS Surface
@@ -1076,9 +1076,9 @@ index a95ebac06e13..4ec2ae72f632 100644
  void mwifiex_initialize_quirks(struct pcie_service_card *card);
  int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
 -- 
-2.31.0
+2.31.1
 
-From 325e3c77c1768d7ad8e5d531c79d83713c9e70ac Mon Sep 17 00:00:00 2001
+From 83ae97bafca23ecfdc1aa6c419fc0d5cc7e03087 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Sun, 28 Mar 2021 21:10:06 +0200
 Subject: [PATCH] mwifiex: Try waking the firmware until we get an interrupt
@@ -1165,9 +1165,9 @@ index 6b06f2a76cdc..45dc0bfe26ba 100644
  	if (reg->sleep_cookie) {
  		mwifiex_pcie_dev_wakeup_delay(adapter);
 -- 
-2.31.0
+2.31.1
 
-From 495f50d493e3976988325cdfdd7bdbb7dd0e86d7 Mon Sep 17 00:00:00 2001
+From a357a5a68cd9e95a81f5ecb40785cb583472fa6e Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Thu, 25 Mar 2021 11:33:02 +0100
 Subject: [PATCH] Bluetooth: btusb: Lower passive lescan interval on Marvell
@@ -1243,9 +1243,9 @@ index 1b0adf5c2376..283a90928f0e 100644
  		set_bit(HCI_QUIRK_FIXUP_INQUIRY_MODE, &hdev->quirks);
  		set_bit(HCI_QUIRK_BROKEN_LOCAL_COMMANDS, &hdev->quirks);
 -- 
-2.31.0
+2.31.1
 
-From 4caaace06bc19f7a5f7cf7999416198201c780e4 Mon Sep 17 00:00:00 2001
+From 7311eeeecd80d3cb7bae088a83e53807895f4e71 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Wed, 11 Nov 2020 12:31:26 +0100
 Subject: [PATCH] mwifiex: Small cleanup for handling virtual interface type
@@ -1344,9 +1344,9 @@ index 650191db25cb..5badf7fef37e 100644
  			mwifiex_dbg(priv->adapter, ERROR,
  				    "%s: changing to %d not supported\n",
 -- 
-2.31.0
+2.31.1
 
-From 01f2323fe1f25c13e40a1171184c33c0e8dd7743 Mon Sep 17 00:00:00 2001
+From 7165cc0cf0a28627a5cd3db631af9c9b69093b8d Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Wed, 11 Nov 2020 12:44:39 +0100
 Subject: [PATCH] mwifiex: Use function to check whether interface type change
@@ -1577,9 +1577,9 @@ index 5badf7fef37e..e73334679992 100644
  
  static void
 -- 
-2.31.0
+2.31.1
 
-From 7146e47c1b30ddc1fa6fbe9a11447f70431e015f Mon Sep 17 00:00:00 2001
+From 2904d85c0deee3362a69856847c3976fffa5117e Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Wed, 11 Nov 2020 13:33:04 +0100
 Subject: [PATCH] mwifiex: Run SET_BSS_MODE when changing from P2P to STATION
@@ -1645,9 +1645,9 @@ index e73334679992..99da637692cc 100644
  							params);
  		default:
 -- 
-2.31.0
+2.31.1
 
-From 9a62b579978ebd59a7698e160d4e677e3d1878cc Mon Sep 17 00:00:00 2001
+From 5cb6a0dd8de3ce090db62521a67f3df1f75835d3 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Wed, 11 Nov 2020 14:42:54 +0100
 Subject: [PATCH] mwifiex: Use helper function for counting interface types
@@ -1821,9 +1821,9 @@ index 99da637692cc..feb3a858d8c1 100644
  	priv->bss_mode = NL80211_IFTYPE_UNSPECIFIED;
  
 -- 
-2.31.0
+2.31.1
 
-From e0f3d0a199fc1e7feff28af283b64d3dda035ca8 Mon Sep 17 00:00:00 2001
+From 70ef3297dc65f00ad9315ed7c2896cb0f7ee9cb5 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Fri, 26 Mar 2021 15:56:58 +0100
 Subject: [PATCH] mwifiex: Update virtual interface counters right after
@@ -1924,9 +1924,9 @@ index feb3a858d8c1..54d9e789aa14 100644
  }
  /*
 -- 
-2.31.0
+2.31.1
 
-From bea450e3e81133d6c0542357e120c3200ad8e9d2 Mon Sep 17 00:00:00 2001
+From 0d2adbf9a64919cb5d0d23878e2ab904ba62d8ad Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Wed, 11 Nov 2020 13:42:40 +0100
 Subject: [PATCH] mwifiex: Allow switching interface type from P2P_CLIENT to
@@ -2013,9 +2013,9 @@ index 54d9e789aa14..ec5ed00b4b89 100644
  			return mwifiex_change_vif_to_ap(dev, curr_iftype, type,
  							params);
 -- 
-2.31.0
+2.31.1
 
-From 90aec18ec01a9c8127385134d055fc80e1b8e527 Mon Sep 17 00:00:00 2001
+From ab87318470957c4883f0558866d455ec892e3a8c Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Fri, 26 Mar 2021 15:31:08 +0100
 Subject: [PATCH] mwifiex: Handle interface type changes from AP to STATION
@@ -2040,9 +2040,9 @@ index ec5ed00b4b89..0fc554abfea3 100644
  							       type, params);
  			break;
 -- 
-2.31.0
+2.31.1
 
-From 5dee0442a2575000fbd6c90302030ae5740c6af9 Mon Sep 17 00:00:00 2001
+From 43ae7dbec10ec94c1643bce67310511a618c870b Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Fri, 26 Mar 2021 15:32:16 +0100
 Subject: [PATCH] mwifiex: Properly initialize private structure on interface
@@ -2095,9 +2095,9 @@ index 0fc554abfea3..7c6d31eb058c 100644
  	default:
  		mwifiex_dbg(adapter, ERROR,
 -- 
-2.31.0
+2.31.1
 
-From d4935b972499b2a37a4f088d842909b708f23bc5 Mon Sep 17 00:00:00 2001
+From d0a26bd105768e953d343b6ee50cca59f4062962 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Sat, 27 Mar 2021 12:19:14 +0100
 Subject: [PATCH] mwifiex: Fix copy-paste mistake when creating virtual
@@ -2127,5 +2127,5 @@ index 7c6d31eb058c..16a94f06a518 100644
  		priv->bss_started = 0;
  
 -- 
-2.31.0
+2.31.1
 

+ 2 - 2
patches/4.19/0008-surface-gpe.patch

@@ -1,4 +1,4 @@
-From bbcf7ae2f4a934812ea37fb8cb6691adf763d7a7 Mon Sep 17 00:00:00 2001
+From 3fbd87709e219b96810001527d35c20be17647e7 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sun, 16 Aug 2020 23:39:56 +0200
 Subject: [PATCH] platform/x86: Add Driver to set up lid GPEs on MS Surface
@@ -390,5 +390,5 @@ index 000000000000..7eaaeacbf408
 +MODULE_ALIAS("dmi:*:svnMicrosoftCorporation:pnSurfaceLaptop2:*");
 +MODULE_ALIAS("dmi:*:svnMicrosoftCorporation:pnSurfaceLaptop3:*");
 -- 
-2.31.0
+2.31.1
 

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

@@ -1,4 +1,4 @@
-From 814de5369a3c4f4a90828d2adf08dca61a828cf3 Mon Sep 17 00:00:00 2001
+From 43c7faabee094f9124a878f06b131f7bf27025d0 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 25 Jul 2020 17:19:53 +0200
 Subject: [PATCH] i2c: acpi: Implement RawBytes read access
@@ -107,9 +107,9 @@ index 8ba4122fb340..f9a24b56fec0 100644
  		dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
  			 accessor_type, client->addr);
 -- 
-2.31.0
+2.31.1
 
-From 962d8a7c6f6c8a8f3ca2279417ed213b41e641a2 Mon Sep 17 00:00:00 2001
+From 5507ebf3dd4f1f19015c55e69317a501b730bf13 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sun, 6 Sep 2020 04:01:19 +0200
 Subject: [PATCH] platform/x86: Add driver for Surface Book 1 dGPU switch
@@ -330,5 +330,5 @@ index 000000000000..8c66ed5110fd
 +MODULE_DESCRIPTION("Discrete GPU Power-Switch for Surface Book 1");
 +MODULE_LICENSE("GPL");
 -- 
-2.31.0
+2.31.1
 

+ 68 - 173
patches/4.19/0010-surface-sam.patch

@@ -1,4 +1,4 @@
-From 40e6f0f5994a24675197fd731493c9f767b0b8f5 Mon Sep 17 00:00:00 2001
+From 900419eddae69fa11f7e14b3ba56b0bf72815f3e Mon Sep 17 00:00:00 2001
 From: qzed <qzed@users.noreply.github.com>
 Date: Mon, 26 Aug 2019 01:15:40 +0200
 Subject: [PATCH] ACPI: Fix buffer/integer type mismatch
@@ -79,9 +79,9 @@ index b272c329d45d..cf547883a993 100644
  		} else {	/* IPMI */
  
 -- 
-2.31.0
+2.31.1
 
-From 1eda8dd25f1d24f5d4fc533d459e9139671c370d Mon Sep 17 00:00:00 2001
+From 68acbd80a83eb4f71f530c64b0ad1141fd4d8861 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Tue, 24 Sep 2019 17:38:12 +0200
 Subject: [PATCH] serdev: Add ACPI devices by ResourceSource field
@@ -267,9 +267,9 @@ index c66a04d24f1d..1b18d12d217f 100644
  	if (!ctrl->serdev)
  		return -ENODEV;
 -- 
-2.31.0
+2.31.1
 
-From 9435d33972cfa3f7ec1d54c0f5b63aa8bae8de6b Mon Sep 17 00:00:00 2001
+From 247b3d408a582c35f84431e9ab84d084c71a0222 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Mon, 17 Aug 2020 01:23:20 +0200
 Subject: [PATCH] Add file2alias support for Surface Aggregator devices
@@ -368,9 +368,9 @@ index 7f40b6aab689..76e3b1d7db45 100644
  
  /* Create MODULE_ALIAS() statements.
 -- 
-2.31.0
+2.31.1
 
-From 0b61b08d16cf3e36d8aad06b5068f57f0e8eaaa2 Mon Sep 17 00:00:00 2001
+From b0d09c327b317a95163eb5468929158a0dfd2260 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Mon, 17 Aug 2020 01:44:30 +0200
 Subject: [PATCH] platform/x86: Add support for Surface System Aggregator
@@ -432,8 +432,8 @@ Patchset: surface-sam
  drivers/platform/x86/surface_perfmode.c       |  122 +
  drivers/power/supply/Kconfig                  |   32 +
  drivers/power/supply/Makefile                 |    2 +
- drivers/power/supply/surface_battery.c        |  897 ++++++
- drivers/power/supply/surface_charger.c        |  296 ++
+ drivers/power/supply/surface_battery.c        |  806 ++++++
+ drivers/power/supply/surface_charger.c        |  282 ++
  include/linux/mod_devicetable.h               |    5 +-
  include/linux/surface_acpi_notify.h           |   39 +
  include/linux/surface_aggregator/controller.h |  824 ++++++
@@ -443,7 +443,7 @@ Patchset: surface-sam
  include/uapi/linux/surface_aggregator/dtx.h   |  146 +
  scripts/mod/devicetable-offsets.c             |    3 +-
  scripts/mod/file2alias.c                      |   10 +-
- 55 files changed, 19213 insertions(+), 7 deletions(-)
+ 55 files changed, 19108 insertions(+), 7 deletions(-)
  create mode 100644 Documentation/driver-api/surface_aggregator/client-api.rst
  create mode 100644 Documentation/driver-api/surface_aggregator/client.rst
  create mode 100644 Documentation/driver-api/surface_aggregator/clients/cdev.rst
@@ -15147,7 +15147,7 @@ index 000000000000..1b87bdd6dd1e
 +MODULE_LICENSE("GPL");
 diff --git a/drivers/platform/x86/surface_dtx.c b/drivers/platform/x86/surface_dtx.c
 new file mode 100644
-index 000000000000..93e365e070f1
+index 000000000000..f6abd2d850a3
 --- /dev/null
 +++ b/drivers/platform/x86/surface_dtx.c
 @@ -0,0 +1,1287 @@
@@ -15800,7 +15800,7 @@ index 000000000000..93e365e070f1
 +
 +	default:
 +		return 0;
-+	};
++	}
 +
 +	if (in->length != len) {
 +		dev_err(ddev->dev,
@@ -16619,10 +16619,10 @@ index a26b402c45d9..c8dd853ee382 100644
 +obj-$(CONFIG_CHARGER_SURFACE)	+= surface_charger.o
 diff --git a/drivers/power/supply/surface_battery.c b/drivers/power/supply/surface_battery.c
 new file mode 100644
-index 000000000000..bcbd7ca1f9f1
+index 000000000000..0aef4afdc6bf
 --- /dev/null
 +++ b/drivers/power/supply/surface_battery.c
-@@ -0,0 +1,897 @@
+@@ -0,0 +1,806 @@
 +// SPDX-License-Identifier: GPL-2.0+
 +/*
 + * Battery driver for 7th-generation Microsoft Surface devices via Surface
@@ -16768,7 +16768,7 @@ index 000000000000..bcbd7ca1f9f1
 +/* -- State management. ----------------------------------------------------- */
 +
 +/*
-+ * Delay for battery update quirk. See spwr_battery_recheck_adapter() below
++ * Delay for battery update quirk. See spwr_external_power_changed() below
 + * for more details.
 + */
 +#define SPWR_AC_BAT_UPDATE_DELAY	msecs_to_jiffies(5000)
@@ -16961,21 +16961,6 @@ index 000000000000..bcbd7ca1f9f1
 +	return status;
 +}
 +
-+static int spwr_battery_recheck_adapter(struct spwr_battery_device *bat)
-+{
-+	/*
-+	 * Handle battery update quirk: When the battery is fully charged (or
-+	 * charged up to the limit imposed by the UEFI battery limit) and the
-+	 * adapter is plugged in or removed, the EC does not send a separate
-+	 * event for the state (charging/discharging) change. Furthermore it
-+	 * may take some time until the state is updated on the battery.
-+	 * Schedule an update to solve this.
-+	 */
-+
-+	schedule_delayed_work(&bat->update_work, SPWR_AC_BAT_UPDATE_DELAY);
-+	return 0;
-+}
-+
 +static u32 spwr_notify_bat(struct ssam_event_notifier *nf, const struct ssam_event *event)
 +{
 +	struct spwr_battery_device *bat = container_of(nf, struct spwr_battery_device, notif);
@@ -16984,18 +16969,6 @@ index 000000000000..bcbd7ca1f9f1
 +	dev_dbg(&bat->sdev->dev, "power event (cid = %#04x, iid = %#04x, tid = %#04x)\n",
 +		event->command_id, event->instance_id, event->target_id);
 +
-+	/* Handled here, needs to be handled for all targets/instances. */
-+	if (event->command_id == SAM_EVENT_CID_BAT_ADP) {
-+		status = spwr_battery_recheck_adapter(bat);
-+		return ssam_notifier_from_errno(status) | SSAM_NOTIF_HANDLED;
-+	}
-+
-+	if (bat->sdev->uid.target != event->target_id)
-+		return 0;
-+
-+	if (bat->sdev->uid.instance != event->instance_id)
-+		return 0;
-+
 +	switch (event->command_id) {
 +	case SAM_EVENT_CID_BAT_BIX:
 +		status = spwr_battery_recheck_full(bat);
@@ -17036,11 +17009,28 @@ index 000000000000..bcbd7ca1f9f1
 +	bat = container_of(dwork, struct spwr_battery_device, update_work);
 +
 +	status = spwr_battery_update_bst(bat, false);
-+	if (!status)
-+		power_supply_changed(bat->psy);
-+
-+	if (status)
++	if (status) {
 +		dev_err(&bat->sdev->dev, "failed to update battery state: %d\n", status);
++		return;
++	}
++
++	power_supply_changed(bat->psy);
++}
++
++static void spwr_external_power_changed(struct power_supply *psy)
++{
++	struct spwr_battery_device *bat = power_supply_get_drvdata(psy);
++
++	/*
++	 * Handle battery update quirk: When the battery is fully charged (or
++	 * charged up to the limit imposed by the UEFI battery limit) and the
++	 * adapter is plugged in or removed, the EC does not send a separate
++	 * event for the state (charging/discharging) change. Furthermore it
++	 * may take some time until the state is updated on the battery.
++	 * Schedule an update to solve this.
++	 */
++
++	schedule_delayed_work(&bat->update_work, SPWR_AC_BAT_UPDATE_DELAY);
 +}
 +
 +
@@ -17134,10 +17124,10 @@ index 000000000000..bcbd7ca1f9f1
 +	lockdep_assert_held(&bat->lock);
 +
 +	if (full_cap == 0 || full_cap == SPWR_BATTERY_VALUE_UNKNOWN)
-+		return -ENODEV;
++		return -ENODATA;
 +
 +	if (remaining_cap == SPWR_BATTERY_VALUE_UNKNOWN)
-+		return -ENODEV;
++		return -ENODATA;
 +
 +	return remaining_cap * 100 / full_cap;
 +}
@@ -17198,7 +17188,7 @@ index 000000000000..bcbd7ca1f9f1
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN:
@@ -17206,7 +17196,7 @@ index 000000000000..bcbd7ca1f9f1
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_VOLTAGE_NOW:
@@ -17214,7 +17204,7 @@ index 000000000000..bcbd7ca1f9f1
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_CURRENT_NOW:
@@ -17223,7 +17213,7 @@ index 000000000000..bcbd7ca1f9f1
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
@@ -17232,7 +17222,7 @@ index 000000000000..bcbd7ca1f9f1
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_CHARGE_FULL:
@@ -17241,7 +17231,7 @@ index 000000000000..bcbd7ca1f9f1
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_CHARGE_NOW:
@@ -17250,7 +17240,7 @@ index 000000000000..bcbd7ca1f9f1
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_CAPACITY:
@@ -17284,57 +17274,6 @@ index 000000000000..bcbd7ca1f9f1
 +}
 +
 +
-+/* -- Alarm attribute. ------------------------------------------------------ */
-+
-+static ssize_t spwr_battery_alarm_show(struct device *dev, struct device_attribute *attr, char *buf)
-+{
-+	struct power_supply *psy = dev_get_drvdata(dev);
-+	struct spwr_battery_device *bat = power_supply_get_drvdata(psy);
-+	int status;
-+
-+	mutex_lock(&bat->lock);
-+	status = scnprintf(buf, PAGE_SIZE, "%d\n", bat->alarm * 1000);
-+	mutex_unlock(&bat->lock);
-+
-+	return status;
-+}
-+
-+static ssize_t spwr_battery_alarm_store(struct device *dev, struct device_attribute *attr,
-+					const char *buf, size_t count)
-+{
-+	struct power_supply *psy = dev_get_drvdata(dev);
-+	struct spwr_battery_device *bat = power_supply_get_drvdata(psy);
-+	unsigned long value;
-+	int status;
-+
-+	status = kstrtoul(buf, 0, &value);
-+	if (status)
-+		return status;
-+
-+	mutex_lock(&bat->lock);
-+
-+	if (!spwr_battery_present(bat)) {
-+		mutex_unlock(&bat->lock);
-+		return -ENODEV;
-+	}
-+
-+	status = spwr_battery_set_alarm_unlocked(bat, value / 1000);
-+	if (status) {
-+		mutex_unlock(&bat->lock);
-+		return status;
-+	}
-+
-+	mutex_unlock(&bat->lock);
-+	return count;
-+}
-+
-+static const struct device_attribute alarm_attr = {
-+	.attr = {.name = "alarm", .mode = 0644},
-+	.show = spwr_battery_alarm_show,
-+	.store = spwr_battery_alarm_store,
-+};
-+
-+
 +/* -- Device setup. --------------------------------------------------------- */
 +
 +static void spwr_battery_init(struct spwr_battery_device *bat, struct ssam_device *sdev,
@@ -17350,7 +17289,7 @@ index 000000000000..bcbd7ca1f9f1
 +	bat->notif.event.reg = registry;
 +	bat->notif.event.id.target_category = sdev->uid.category;
 +	bat->notif.event.id.instance = 0;
-+	bat->notif.event.mask = SSAM_EVENT_MASK_NONE;
++	bat->notif.event.mask = SSAM_EVENT_MASK_STRICT;
 +	bat->notif.event.flags = SSAM_EVENT_SEQUENCED;
 +
 +	bat->psy_desc.name = bat->name;
@@ -17360,11 +17299,6 @@ index 000000000000..bcbd7ca1f9f1
 +	INIT_DELAYED_WORK(&bat->update_work, spwr_battery_update_bst_workfn);
 +}
 +
-+static void spwr_battery_destroy(struct spwr_battery_device *bat)
-+{
-+	mutex_destroy(&bat->lock);
-+}
-+
 +static int spwr_battery_register(struct spwr_battery_device *bat)
 +{
 +	struct power_supply_config psy_cfg = {};
@@ -17400,6 +17334,8 @@ index 000000000000..bcbd7ca1f9f1
 +
 +	mutex_unlock(&bat->lock);
 +
++	bat->psy_desc.external_power_changed = spwr_external_power_changed;
++
 +	switch (get_unaligned_le32(&bat->bix.power_unit)) {
 +	case SAM_BATTERY_POWER_UNIT_mW:
 +		bat->psy_desc.properties = spwr_battery_props_eng;
@@ -17418,33 +17354,11 @@ index 000000000000..bcbd7ca1f9f1
 +	}
 +
 +	psy_cfg.drv_data = bat;
-+	bat->psy = power_supply_register(&bat->sdev->dev, &bat->psy_desc, &psy_cfg);
++	bat->psy = devm_power_supply_register(&bat->sdev->dev, &bat->psy_desc, &psy_cfg);
 +	if (IS_ERR(bat->psy))
 +		return PTR_ERR(bat->psy);
 +
-+	status = ssam_notifier_register(bat->sdev->ctrl, &bat->notif);
-+	if (status)
-+		goto err_notif;
-+
-+	status = device_create_file(&bat->psy->dev, &alarm_attr);
-+	if (status)
-+		goto err_file;
-+
-+	return 0;
-+
-+err_file:
-+	ssam_notifier_unregister(bat->sdev->ctrl, &bat->notif);
-+err_notif:
-+	power_supply_unregister(bat->psy);
-+	return status;
-+}
-+
-+static void spwr_battery_unregister(struct spwr_battery_device *bat)
-+{
-+	ssam_notifier_unregister(bat->sdev->ctrl, &bat->notif);
-+	cancel_delayed_work_sync(&bat->update_work);
-+	device_remove_file(&bat->psy->dev, &alarm_attr);
-+	power_supply_unregister(bat->psy);
++	return ssam_notifier_register(bat->sdev->ctrl, &bat->notif);
 +}
 +
 +
@@ -17460,7 +17374,6 @@ index 000000000000..bcbd7ca1f9f1
 +{
 +	const struct spwr_psy_properties *p;
 +	struct spwr_battery_device *bat;
-+	int status;
 +
 +	p = ssam_device_get_match_data(sdev);
 +	if (!p)
@@ -17473,19 +17386,15 @@ index 000000000000..bcbd7ca1f9f1
 +	spwr_battery_init(bat, sdev, p->registry, p->name);
 +	ssam_device_set_drvdata(sdev, bat);
 +
-+	status = spwr_battery_register(bat);
-+	if (status)
-+		spwr_battery_destroy(bat);
-+
-+	return status;
++	return spwr_battery_register(bat);
 +}
 +
 +static void surface_battery_remove(struct ssam_device *sdev)
 +{
 +	struct spwr_battery_device *bat = ssam_device_get_drvdata(sdev);
 +
-+	spwr_battery_unregister(bat);
-+	spwr_battery_destroy(bat);
++	ssam_notifier_unregister(sdev->ctrl, &bat->notif);
++	cancel_delayed_work_sync(&bat->update_work);
 +}
 +
 +static const struct spwr_psy_properties spwr_psy_props_bat1 = {
@@ -17522,10 +17431,10 @@ index 000000000000..bcbd7ca1f9f1
 +MODULE_LICENSE("GPL");
 diff --git a/drivers/power/supply/surface_charger.c b/drivers/power/supply/surface_charger.c
 new file mode 100644
-index 000000000000..982f9b9ef6f5
+index 000000000000..4b30b482b457
 --- /dev/null
 +++ b/drivers/power/supply/surface_charger.c
-@@ -0,0 +1,296 @@
+@@ -0,0 +1,282 @@
 +// SPDX-License-Identifier: GPL-2.0+
 +/*
 + * AC driver for 7th-generation Microsoft Surface devices via Surface System
@@ -17694,6 +17603,11 @@ index 000000000000..982f9b9ef6f5
 +
 +/* -- Device setup. --------------------------------------------------------- */
 +
++static char *battery_supplied_to[] = {
++	"BAT1",
++	"BAT2",
++};
++
 +static void spwr_ac_init(struct spwr_ac_device *ac, struct ssam_device *sdev,
 +			 struct ssam_event_registry registry, const char *name)
 +{
@@ -17717,11 +17631,6 @@ index 000000000000..982f9b9ef6f5
 +	ac->psy_desc.get_property = spwr_ac_get_property;
 +}
 +
-+static void spwr_ac_destroy(struct spwr_ac_device *ac)
-+{
-+	mutex_destroy(&ac->lock);
-+}
-+
 +static int spwr_ac_register(struct spwr_ac_device *ac)
 +{
 +	struct power_supply_config psy_cfg = {};
@@ -17737,22 +17646,14 @@ index 000000000000..982f9b9ef6f5
 +		return -ENODEV;
 +
 +	psy_cfg.drv_data = ac;
-+	ac->psy = power_supply_register(&ac->sdev->dev, &ac->psy_desc, &psy_cfg);
++	psy_cfg.supplied_to = battery_supplied_to;
++	psy_cfg.num_supplicants = ARRAY_SIZE(battery_supplied_to);
++
++	ac->psy = devm_power_supply_register(&ac->sdev->dev, &ac->psy_desc, &psy_cfg);
 +	if (IS_ERR(ac->psy))
 +		return PTR_ERR(ac->psy);
 +
-+	status = ssam_notifier_register(ac->sdev->ctrl, &ac->notif);
-+	if (status)
-+		power_supply_unregister(ac->psy);
-+
-+	return status;
-+}
-+
-+static int spwr_ac_unregister(struct spwr_ac_device *ac)
-+{
-+	ssam_notifier_unregister(ac->sdev->ctrl, &ac->notif);
-+	power_supply_unregister(ac->psy);
-+	return 0;
++	return ssam_notifier_register(ac->sdev->ctrl, &ac->notif);
 +}
 +
 +
@@ -17768,7 +17669,6 @@ index 000000000000..982f9b9ef6f5
 +{
 +	const struct spwr_psy_properties *p;
 +	struct spwr_ac_device *ac;
-+	int status;
 +
 +	p = ssam_device_get_match_data(sdev);
 +	if (!p)
@@ -17781,19 +17681,14 @@ index 000000000000..982f9b9ef6f5
 +	spwr_ac_init(ac, sdev, p->registry, p->name);
 +	ssam_device_set_drvdata(sdev, ac);
 +
-+	status = spwr_ac_register(ac);
-+	if (status)
-+		spwr_ac_destroy(ac);
-+
-+	return status;
++	return spwr_ac_register(ac);
 +}
 +
 +static void surface_ac_remove(struct ssam_device *sdev)
 +{
 +	struct spwr_ac_device *ac = ssam_device_get_drvdata(sdev);
 +
-+	spwr_ac_unregister(ac);
-+	spwr_ac_destroy(ac);
++	ssam_notifier_unregister(sdev->ctrl, &ac->notif);
 +}
 +
 +static const struct spwr_psy_properties spwr_psy_props_adp1 = {
@@ -20106,5 +20001,5 @@ index 76e3b1d7db45..f171616ab318 100644
  	ADD(alias, "f", match_flags & SSAM_MATCH_FUNCTION, function);
  
 -- 
-2.31.0
+2.31.1
 

+ 51 - 51
patches/4.19/0011-surface-hotplug.patch

@@ -1,4 +1,4 @@
-From 409e4b0e04805ade669e80e790d9d69d095542d1 Mon Sep 17 00:00:00 2001
+From 32936a8253505e6bd979421d2210863f0912402c Mon Sep 17 00:00:00 2001
 From: Lukas Wunner <lukas@wunner.de>
 Date: Tue, 31 Jul 2018 07:50:37 +0200
 Subject: [PATCH] PCI: pciehp: Differentiate between surprise and safe removal
@@ -195,9 +195,9 @@ index 5c58c22e0c08..18f83e554c73 100644
  	pci_lock_rescan_remove();
  
 -- 
-2.31.0
+2.31.1
 
-From ef9e0c79e325c4e285ef090bc1c3d74d1a845344 Mon Sep 17 00:00:00 2001
+From 5ff441f7e63c30dd66ccf946ee90c39fa8dfd6d8 Mon Sep 17 00:00:00 2001
 From: Lukas Wunner <lukas@wunner.de>
 Date: Sun, 19 Aug 2018 16:29:00 +0200
 Subject: [PATCH] PCI: pciehp: Drop unnecessary includes
@@ -334,9 +334,9 @@ index 18f83e554c73..c512b2ed85ed 100644
  #include <linux/types.h>
  #include <linux/pci.h>
 -- 
-2.31.0
+2.31.1
 
-From 1b683f869aa3c8980663c2ebca2c29b2bb666be6 Mon Sep 17 00:00:00 2001
+From 1501329547f4a846aadee0cde58fa0b508d67f2f Mon Sep 17 00:00:00 2001
 From: Lukas Wunner <lukas@wunner.de>
 Date: Sun, 19 Aug 2018 16:29:00 +0200
 Subject: [PATCH] PCI: pciehp: Drop hotplug_slot_ops wrappers
@@ -547,9 +547,9 @@ index d4b7049cbc70..576362d0b1cd 100644
  	struct pci_dev *pdev = ctrl_dev(ctrl);
  	u16 stat_mask = 0, ctrl_mask = 0;
 -- 
-2.31.0
+2.31.1
 
-From 68f795201525d4c25e0476b1ef24b32fedb42e77 Mon Sep 17 00:00:00 2001
+From 89e68119dbb90fc18110be3fd9300111c18eb3b7 Mon Sep 17 00:00:00 2001
 From: Lukas Wunner <lukas@wunner.de>
 Date: Sat, 8 Sep 2018 09:59:01 +0200
 Subject: [PATCH] PCI: pciehp: Tolerate Presence Detect hardwired to zero
@@ -745,9 +745,9 @@ index 576362d0b1cd..7f4173d6771a 100644
  			pciehp_power_off_slot(ctrl->slot);
  		}
 -- 
-2.31.0
+2.31.1
 
-From 3645dd3df6deb52583d3bb60cfcd34e55c4c7105 Mon Sep 17 00:00:00 2001
+From 7df99b5c238106f0f50f710f98a64bbfafdff51b Mon Sep 17 00:00:00 2001
 From: Patrick Talbert <ptalbert@redhat.com>
 Date: Wed, 5 Sep 2018 09:12:53 +0200
 Subject: [PATCH] PCI/ASPM: Do not initialize link state when aspm_disabled is
@@ -790,9 +790,9 @@ index cb474338f39d..18aa830e79e4 100644
  
  	if (pdev->link_state)
 -- 
-2.31.0
+2.31.1
 
-From f24038ccb2f063b826a9c9dec6cc8128d45d2dc1 Mon Sep 17 00:00:00 2001
+From 8440f1713e6d5867d2ca2ae04f846509c7aa4998 Mon Sep 17 00:00:00 2001
 From: Lukas Wunner <lukas@wunner.de>
 Date: Sun, 19 Aug 2018 16:29:00 +0200
 Subject: [PATCH] PCI: Simplify disconnected marking
@@ -876,9 +876,9 @@ index 2c3b5bd59b18..dee5a7507403 100644
  
  	result = reset_link(udev, service);
 -- 
-2.31.0
+2.31.1
 
-From 4bae59c48bc02c2f1883007fae55b1efaabc6321 Mon Sep 17 00:00:00 2001
+From b4a04a144ecdd35bf98ebb4ecb7c9a2425dbc485 Mon Sep 17 00:00:00 2001
 From: Lukas Wunner <lukas@wunner.de>
 Date: Tue, 18 Sep 2018 21:46:17 +0200
 Subject: [PATCH] PCI: pciehp: Unify controller and slot structs
@@ -2068,9 +2068,9 @@ index 8da87931bd45..b9c1396db6fe 100644
  	ctrl_dbg(ctrl, "%s: domain:bus:dev = %04x:%02x:00\n",
  		 __func__, pci_domain_nr(parent), parent->number);
 -- 
-2.31.0
+2.31.1
 
-From c859165e11b72f29a611692e7c4de24a0e1605eb Mon Sep 17 00:00:00 2001
+From b3d355fba3a64c6469f4cd565796205d66239041 Mon Sep 17 00:00:00 2001
 From: Lukas Wunner <lukas@wunner.de>
 Date: Sat, 8 Sep 2018 09:59:01 +0200
 Subject: [PATCH] PCI: pciehp: Rename controller struct members for clarity
@@ -2375,9 +2375,9 @@ index 4a17d71e15d3..e4d6ec960630 100644
  }
  
 -- 
-2.31.0
+2.31.1
 
-From 82da1298706ea01fccfe3733cfce6a89d818871b Mon Sep 17 00:00:00 2001
+From 7965dea44558f973fed8197c03aae612ac3f16f4 Mon Sep 17 00:00:00 2001
 From: Lukas Wunner <lukas@wunner.de>
 Date: Sat, 8 Sep 2018 09:59:01 +0200
 Subject: [PATCH] PCI: pciehp: Reshuffle controller struct for clarity
@@ -2506,9 +2506,9 @@ index 2499489158cc..df82a0335515 100644
  	int request_result;
  	wait_queue_head_t requester;
 -- 
-2.31.0
+2.31.1
 
-From 1f709c3fab76965232f69a39d26b82202c8bd3fc Mon Sep 17 00:00:00 2001
+From 2b6a2237ddb62b4c251b8cbe8b0bf7ed2007ebca Mon Sep 17 00:00:00 2001
 From: Keith Busch <keith.busch@intel.com>
 Date: Thu, 20 Sep 2018 10:27:17 -0600
 Subject: [PATCH] PCI: Make link active reporting detection generic
@@ -2703,9 +2703,9 @@ index ec6c48ecd7d5..74c8e9190fed 100644
  	atomic_t	enable_cnt;	/* pci_enable_device has been called */
  
 -- 
-2.31.0
+2.31.1
 
-From 6f6e8ad98c26848ceabcf7083994614b31ff7ba4 Mon Sep 17 00:00:00 2001
+From 245f9609c1d5a13942ed673a813800b377e8275c Mon Sep 17 00:00:00 2001
 From: Mika Westerberg <mika.westerberg@linux.intel.com>
 Date: Thu, 27 Sep 2018 16:53:53 -0500
 Subject: [PATCH] PCI: Do not skip power-managed bridges in pci_enable_wake()
@@ -2754,9 +2754,9 @@ index 2d437c40f83b..4a874e8fa1d5 100644
  
  	/* Don't do the same thing twice in a row for one device. */
 -- 
-2.31.0
+2.31.1
 
-From 2b3ee56386a9a934be2bfe3231c8585f27ba9ec8 Mon Sep 17 00:00:00 2001
+From daa2f8ac9722fee94cd8917067e9421b7049db5f Mon Sep 17 00:00:00 2001
 From: Mika Westerberg <mika.westerberg@linux.intel.com>
 Date: Thu, 27 Sep 2018 16:38:19 -0500
 Subject: [PATCH] PCI: pciehp: Disable hotplug interrupt during suspend
@@ -2868,9 +2868,9 @@ index 0693870a9e24..b5c7f5ef597a 100644
   * pciehp has a 1:1 bus:slot relationship so we ultimately want a secondary
   * bus reset of the bridge, but at the same time we want to ensure that it is
 -- 
-2.31.0
+2.31.1
 
-From e0179087b123bff3bfb5c6a681f05d001ab50bc0 Mon Sep 17 00:00:00 2001
+From 68952d2bb2ce34e97fa7580a529c7dcc1bd135f5 Mon Sep 17 00:00:00 2001
 From: Mika Westerberg <mika.westerberg@linux.intel.com>
 Date: Thu, 27 Sep 2018 16:41:46 -0500
 Subject: [PATCH] PCI: pciehp: Do not handle events if interrupts are masked
@@ -2910,9 +2910,9 @@ index b5c7f5ef597a..242b9f30210a 100644
  
  	/*
 -- 
-2.31.0
+2.31.1
 
-From 796c9fa2533e540c08b5ebf3ddf3771600ade0d9 Mon Sep 17 00:00:00 2001
+From 3e04fc09f35a044af9f5f3a6a8898264ed2abeea Mon Sep 17 00:00:00 2001
 From: Mika Westerberg <mika.westerberg@linux.intel.com>
 Date: Thu, 27 Sep 2018 16:41:47 -0500
 Subject: [PATCH] PCI/portdrv: Resume upon exit from system suspend if left
@@ -2963,9 +2963,9 @@ index 23a5a0c2c3fe..5badf8a1ce0a 100644
  	if (pci_bridge_d3_possible(dev)) {
  		/*
 -- 
-2.31.0
+2.31.1
 
-From 4d9f6f415d5d8929c0efba821b964398f77a55ad Mon Sep 17 00:00:00 2001
+From 873adacfbe6639e22f473b469899d830c7aaaad1 Mon Sep 17 00:00:00 2001
 From: Mika Westerberg <mika.westerberg@linux.intel.com>
 Date: Thu, 27 Sep 2018 16:41:48 -0500
 Subject: [PATCH] PCI/portdrv: Add runtime PM hooks for port service drivers
@@ -3075,9 +3075,9 @@ index 5badf8a1ce0a..59d2567e2db2 100644
  };
  
 -- 
-2.31.0
+2.31.1
 
-From 2c12db73a0055836c77b070e3a89c49add66f334 Mon Sep 17 00:00:00 2001
+From 2bddb8adbf5e3571c9ccac8228fba175698c6a1f Mon Sep 17 00:00:00 2001
 From: Mika Westerberg <mika.westerberg@linux.intel.com>
 Date: Thu, 27 Sep 2018 16:41:49 -0500
 Subject: [PATCH] PCI: pciehp: Implement runtime PM callbacks
@@ -3132,9 +3132,9 @@ index 8e6e4ce869fb..e5de25ebc4cf 100644
  };
  
 -- 
-2.31.0
+2.31.1
 
-From 6f72794bc189f1ed83079fb0a9805bec0e1fd718 Mon Sep 17 00:00:00 2001
+From f56d3923f4d034a30806927b9429daa09f486e9c Mon Sep 17 00:00:00 2001
 From: Mika Westerberg <mika.westerberg@linux.intel.com>
 Date: Thu, 27 Sep 2018 16:57:05 -0500
 Subject: [PATCH] ACPI / property: Allow multiple property compatible _DSD
@@ -3372,7 +3372,7 @@ index 51b4cf9f25da..130df1c8ed7d 100644
  out_free:
  	ACPI_FREE(props);
 diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
-index 18f5973b9697..dd7c6b247c01 100644
+index 4ad34c6803ad..721048243d6d 100644
 --- a/drivers/gpio/gpiolib-acpi.c
 +++ b/drivers/gpio/gpiolib-acpi.c
 @@ -1300,7 +1300,7 @@ int acpi_gpio_count(struct device *dev, const char *con_id)
@@ -3385,10 +3385,10 @@ index 18f5973b9697..dd7c6b247c01 100644
  
  	return con_id == NULL;
 diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
-index d9773df60a36..f25d3b37c0ae 100644
+index 8b19618bad0a..af01d052f736 100644
 --- a/include/acpi/acpi_bus.h
 +++ b/include/acpi/acpi_bus.h
-@@ -346,10 +346,16 @@ struct acpi_device_physical_node {
+@@ -347,10 +347,16 @@ struct acpi_device_physical_node {
  	bool put_online:1;
  };
  
@@ -3427,9 +3427,9 @@ index 019468f072b7..2b2d92863923 100644
  		       void **valptr);
  int acpi_dev_prop_read_single(struct acpi_device *adev,
 -- 
-2.31.0
+2.31.1
 
-From 4be1301a73705b0928870c2521e849e7c08ffd42 Mon Sep 17 00:00:00 2001
+From 811f39fb61f340c52ac90f3192b9006e435c1d46 Mon Sep 17 00:00:00 2001
 From: Mika Westerberg <mika.westerberg@linux.intel.com>
 Date: Thu, 27 Sep 2018 16:57:14 -0500
 Subject: [PATCH] PCI / ACPI: Whitelist D3 for more PCIe hotplug ports
@@ -3592,9 +3592,9 @@ index e9ede82ee2c2..0a5efc437bd1 100644
  	int (*set_state)(struct pci_dev *dev, pci_power_t state);
  	pci_power_t (*get_state)(struct pci_dev *dev);
 -- 
-2.31.0
+2.31.1
 
-From 51d6fb417a66f00690a88007d9572efd740e1ff4 Mon Sep 17 00:00:00 2001
+From 297e2c04935411c1f515901333bd3b9b2ad2af8f Mon Sep 17 00:00:00 2001
 From: Mika Westerberg <mika.westerberg@linux.intel.com>
 Date: Mon, 7 Jan 2019 16:09:40 +0300
 Subject: [PATCH] PCI: pciehp: Assign ctrl->slot_ctrl before writing it to
@@ -3646,9 +3646,9 @@ index 242b9f30210a..7074d4923811 100644
  	/*
  	 * Controllers with the Intel CF118 and similar errata advertise
 -- 
-2.31.0
+2.31.1
 
-From e3e02f02fead629703040c9ebea6593f10cbf0c2 Mon Sep 17 00:00:00 2001
+From e63b8d162dacb137e43889aef82e56cc4b9b3f2c Mon Sep 17 00:00:00 2001
 From: Mika Westerberg <mika.westerberg@linux.intel.com>
 Date: Thu, 31 Jan 2019 20:07:46 +0300
 Subject: [PATCH] PCI: pciehp: Disable Data Link Layer State Changed event on
@@ -3735,9 +3735,9 @@ index 7074d4923811..a37ff79a6e9e 100644
  
  /*
 -- 
-2.31.0
+2.31.1
 
-From a8c7db053193d1415988154b8285f4225e9a2845 Mon Sep 17 00:00:00 2001
+From 7b743f564849a013590718ae1f87931a2ab27fa7 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Thu, 29 Oct 2020 22:04:38 +0100
 Subject: [PATCH] PCI: Allow D3cold for hot-plug ports on Surface Books
@@ -3820,9 +3820,9 @@ index a60eb5780cc0..65bb9c2c1a5b 100644
  		if (dmi_check_system(bridge_d3_blacklist))
  			return false;
 -- 
-2.31.0
+2.31.1
 
-From 305720c6a37a395a2ae101469ac8921dc9a3715d Mon Sep 17 00:00:00 2001
+From 6ba8801cab94b75444606335d19ad717f8bfb17b Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 31 Oct 2020 20:46:33 +0100
 Subject: [PATCH] PCI: Add sysfs attribute for PCI device power state
@@ -3893,9 +3893,9 @@ index 1edf5a1836ea..ee1518650d55 100644
  	&dev_attr_vendor.attr,
  	&dev_attr_device.attr,
 -- 
-2.31.0
+2.31.1
 
-From 2aa3d716e1b36de1466eff662830721cbb12365a Mon Sep 17 00:00:00 2001
+From ed2b56d8fa7ae4e93fa8bd918fa83eb8d1ba1244 Mon Sep 17 00:00:00 2001
 From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
 Date: Tue, 16 Mar 2021 16:51:40 +0100
 Subject: [PATCH] PCI: PM: Do not read power state in pci_enable_device_flags()
@@ -3961,9 +3961,9 @@ index 65bb9c2c1a5b..5f3f35d314c3 100644
  	bridge = pci_upstream_bridge(dev);
  	if (bridge)
 -- 
-2.31.0
+2.31.1
 
-From 2f4bec195ebab9b5d532359e9dfe94e222637ebd Mon Sep 17 00:00:00 2001
+From 6809b59b49cdd8ce570615f5ec209b042c61c9b2 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Mon, 14 Dec 2020 20:50:59 +0100
 Subject: [PATCH] platform/x86: Add Surface Hotplug driver
@@ -4313,5 +4313,5 @@ index 000000000000..cfcc15cfbacb
 +MODULE_DESCRIPTION("Surface Hot-Plug Signaling Driver for Surface Book Devices");
 +MODULE_LICENSE("GPL");
 -- 
-2.31.0
+2.31.1
 

+ 2 - 2
patches/4.19/0012-surface-typecover.patch

@@ -1,4 +1,4 @@
-From 6685c04697aeb4561fd14fc20af6983b8c35f7eb Mon Sep 17 00:00:00 2001
+From 1598d3916be42d1df5057f0a105a104c542a7827 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Thu, 5 Nov 2020 13:09:45 +0100
 Subject: [PATCH] hid/multitouch: Turn off Type Cover keyboard backlight when
@@ -229,5 +229,5 @@ index ccda72f748ee..96fb231fd266 100644
  	{ .driver_data = MT_CLS_GOOGLE,
  		HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, USB_VENDOR_ID_GOOGLE,
 -- 
-2.31.0
+2.31.1
 

+ 2 - 2
patches/4.19/0013-ath10k-firmware-override.patch

@@ -1,4 +1,4 @@
-From abb8d9b0569cb3c2ebfa130888df618c4f577808 Mon Sep 17 00:00:00 2001
+From f60a84abb8fe9758170c71ff52ce6c3e721a3079 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 27 Feb 2021 00:45:52 +0100
 Subject: [PATCH] ath10k: Add module parameters to override board files
@@ -117,5 +117,5 @@ index 436eac342b62..c9028d59bfe2 100644
  	ret = firmware_request_nowarn(&fw, filename, ar->dev);
  	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot fw request '%s': %d\n",
 -- 
-2.31.0
+2.31.1
 

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

@@ -45,19 +45,19 @@ sha256sums=('bacfd95ddf51df70b2962fc685b5217fc449e644f16996e49d87eb259b84a5f5'
             '4e68572e7cc4c5368f0236e0792660ae8498373988625dca46e509399a7eaea6'
             'a13581d3c6dc595206e4fe7fcf6b542e7a1bdbe96101f0f010fc5be49f99baf2'
             'c523d8ba9f02992c34b325cd7b07e27bfead33ecab29877e659a12b2d56b1118'
-            '3b9ccfbecd4c0f863d9827474a7ff539bcb567fac71702c7d1ec0e0f6ef3b395'
-            'ce3d7f436db1921133f5d5ea690f6da4a826baff7ba028b8fcac95a9f8b9b05b'
-            '4da5f9717c44cac5192a499aad8f59f93059fd7b789900a14b1b688a1fc10868'
-            '5df438b90ed0c927f332e3be5f57bbc3f27e3a0614503e86240c043e39821e1f'
-            '764b81b2b0d000ae504f6fde010f24bfce11ff3c51f69095690cca5fec6902c6'
-            '8fa229294ba09ecedb87e5bb068ae1f4269f2d762eb24048cae7ea7c9bdb6f26'
-            '1654b5c309cedbbf66707e2a41bac94500877bc07f753022b4fb87765fdaa223'
-            '7164181b7eea79594b87a7c7466f9f60d2ce342d400d8952cac9aa221c1c20d5'
-            '1c23d9a09308bf0718be8f3b2926d64fe1bf2032b419b5e9fef1a7d3c3583576'
-            '2fef563d542f29ace07423ce65dbd9d69c42fed1489006854b286681b6a12bed'
-            '5abe86145b507a1bee0ef7292a4297f4e39911367e65ffd0a8e74e4eb3c78ad9'
-            '0852b52ef56722222f821b61d9fcce6ad605e0cda25892295661e19412029579'
-            '80bb49f6a6902b184c80f895797ef263cf6d3e9276e474430094ad323b4f41cb')
+            '815e084784acbcd1054921d2ed8c8a55e02680d9f338685370fca86ca0ca262f'
+            '061d6e2f364594506ac3c381be95bbe514c021361d02fcf6c4d648c900879294'
+            '93a1b7047ee684e4247f674ea612f28a49984254c12db38ef5d31ba9465c86b5'
+            '8e589623fd9c8ad8a6932f4c53b3de7a1b3902eb499eab9e08783d8850bedad5'
+            'bfa5e1d3f93b0ca22bf9f50e00a017830318d6d6c5a7455424a0047b9f5b77a4'
+            '95f69f3427e89833d25e65c0c2562f0f55242e0d877a5a5b8e1f938467948638'
+            '476a2449781a88e3afd1c6fa4c9569425bf071322423e8130d3e0d46f11e7696'
+            'aaaf0da127ddce8b3b9f3469679d893e464411d171c22197f2f1ffe4a40b0fe9'
+            '3e104e0daf6a25ff54a2ca7818f703acae2449d1588d34f29ad8fca2bb089714'
+            '98af9cd82b2b1fff8fe26756156ee22ffc9500c812d06111738ca5bae28da1a1'
+            '3708ea9339ac4476b8356d68462bf24552dabd485ec56af8bb2ced09108aac65'
+            '28a1c13e691dc957e3807d78ac80a98ce3f3ddb5818ac492eed2f5a518ef4f06'
+            '540b2c73d5abfa4832070968e696b7149ebc71e38f610df275cb670422482bdc')
 
 export KBUILD_BUILD_HOST=archlinux
 export KBUILD_BUILD_USER=$pkgbase