diff --git a/patches/5.12/0001-surface3-oemb.patch b/patches/5.12/0001-surface3-oemb.patch index 82a478a8b..8de83166c 100644 --- a/patches/5.12/0001-surface3-oemb.patch +++ b/patches/5.12/0001-surface3-oemb.patch @@ -1,4 +1,4 @@ -From 0b7d702ff3d3e80a5b4550e87f0dc4fdf921065f Mon Sep 17 00:00:00 2001 +From 53fdf62b84f3cb4ad7ce88b7deaf5bcd1f2e8c50 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto 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 227424236fd5..1013a57be89a 100644 }; -- -2.31.1 +2.32.0 diff --git a/patches/5.12/0002-mwifiex.patch b/patches/5.12/0002-mwifiex.patch index 1c869cd5a..9433149f4 100644 --- a/patches/5.12/0002-mwifiex.patch +++ b/patches/5.12/0002-mwifiex.patch @@ -1,4 +1,4 @@ -From 98ebfc6454882e275332c76d655f595d2d6806fd Mon Sep 17 00:00:00 2001 +From a1af69e4f86bfc6dc6e4c295cfc4f0bbc5171d88 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Mon, 28 Sep 2020 17:46:49 +0900 Subject: [PATCH] mwifiex: pcie: add DMI-based quirk impl for Surface devices @@ -204,9 +204,9 @@ index 000000000000..5326ae7e5671 + +void mwifiex_initialize_quirks(struct pcie_service_card *card); -- -2.31.1 +2.32.0 -From 5cc746ee1210ad5363479196ae8fb4c7e303ea34 Mon Sep 17 00:00:00 2001 +From 046ff9de09dd1d6048507ceb38596c427beef6ed Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Tue, 29 Sep 2020 17:25:22 +0900 Subject: [PATCH] mwifiex: pcie: add reset_d3cold quirk for Surface gen4+ @@ -405,9 +405,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.1 +2.32.0 -From 0b5b8849304e9b3866f5f18ec4bb420dc876001c Mon Sep 17 00:00:00 2001 +From 02e8d9092fc3adfec1fc458b85f97e1242ff1f58 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Tue, 29 Sep 2020 17:32:22 +0900 Subject: [PATCH] mwifiex: pcie: add reset_wsid quirk for Surface 3 @@ -584,9 +584,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.1 +2.32.0 -From 57f08db99446c4838288bd5d4ca21ab4ee44dd19 Mon Sep 17 00:00:00 2001 +From 61ea5fea884ec630890cdef2585cfe6f8f1088dc Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Wed, 30 Sep 2020 18:08:24 +0900 Subject: [PATCH] mwifiex: pcie: (OEMB) add quirk for Surface 3 with broken DMI @@ -646,9 +646,9 @@ index f0a6fa0a7ae5..34dcd84f02a6 100644 .ident = "Surface Pro 3", .matches = { -- -2.31.1 +2.32.0 -From 4b9bbee449db156d0be90952cb63ff5bc87d9571 Mon Sep 17 00:00:00 2001 +From 3ff9b9b558c3c5d5c6027b217abd3367d2424160 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Sun, 4 Oct 2020 00:11:49 +0900 Subject: [PATCH] mwifiex: pcie: disable bridge_d3 for Surface gen4+ @@ -801,9 +801,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.1 +2.32.0 -From b9d0f717c806b9352950ce64dbe29a8054b561c2 Mon Sep 17 00:00:00 2001 +From 32c53b2aa58fa55e9035663a502b4f9940350e11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Tue, 3 Nov 2020 13:28:04 +0100 Subject: [PATCH] mwifiex: Add quirk resetting the PCI bridge on MS Surface @@ -968,9 +968,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.1 +2.32.0 -From 68011fe772d7e1fd4ee45cf1dbd585571989ae4e Mon Sep 17 00:00:00 2001 +From 355025949c0a2356686217e20311997f0173e075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Thu, 25 Mar 2021 11:33:02 +0100 Subject: [PATCH] Bluetooth: btusb: Lower passive lescan interval on Marvell @@ -1046,9 +1046,9 @@ index 4a901508e48e..e69ebe224566 100644 (id->driver_info & BTUSB_MEDIATEK)) { hdev->setup = btusb_mtk_setup; -- -2.31.1 +2.32.0 -From 75a76e714ed0a2c55d1b7dd883d4f977c2aea047 Mon Sep 17 00:00:00 2001 +From 1d36d569a4840969c5d3ff611d0524e7bbe89e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 11 Nov 2020 12:31:26 +0100 Subject: [PATCH] mwifiex: Small cleanup for handling virtual interface type @@ -1147,9 +1147,9 @@ index a2ed268ce0da..789de1b0c5b1 100644 mwifiex_dbg(priv->adapter, ERROR, "%s: changing to %d not supported\n", -- -2.31.1 +2.32.0 -From ca337fdd043efa39580192c036e37956fcbadcf5 Mon Sep 17 00:00:00 2001 +From e79634d8341bddb0d763427cc24ae5b8f47a01e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Tue, 10 Nov 2020 12:49:56 +0100 Subject: [PATCH] mwifiex: Use non-posted PCI register writes @@ -1204,9 +1204,9 @@ index 8a99e243aff2..84b1d30e07e4 100644 } -- -2.31.1 +2.32.0 -From ba021eb98178c6579f0b9b42828c6f6d68e16af5 Mon Sep 17 00:00:00 2001 +From d54d24de7ce82772016ec4ba62aa2ab8dc6bd3d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 11 Nov 2020 12:44:39 +0100 Subject: [PATCH] mwifiex: Use function to check whether interface type change @@ -1437,9 +1437,9 @@ index 789de1b0c5b1..13698818e58a 100644 static void -- -2.31.1 +2.32.0 -From 3787c5a02d28b6daefa8ee517d5f544fdf7fc56e Mon Sep 17 00:00:00 2001 +From df30cc8f92a3e1df13fba2636d88ac0cbfcf0111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 11 Nov 2020 13:33:04 +0100 Subject: [PATCH] mwifiex: Run SET_BSS_MODE when changing from P2P to STATION @@ -1505,9 +1505,9 @@ index 13698818e58a..f5b9f1d26114 100644 params); default: -- -2.31.1 +2.32.0 -From 4abee5b35000507095db69c8b8e6212ffce70404 Mon Sep 17 00:00:00 2001 +From 8af4d650f127d304f690519c0b8ca5276c88ddab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 11 Nov 2020 14:42:54 +0100 Subject: [PATCH] mwifiex: Use helper function for counting interface types @@ -1681,9 +1681,9 @@ index f5b9f1d26114..44cff715bf29 100644 priv->bss_mode = NL80211_IFTYPE_UNSPECIFIED; -- -2.31.1 +2.32.0 -From 42329bd1f3386c7518eb8aff85fc333df57f9751 Mon Sep 17 00:00:00 2001 +From 417cd522f3e9840f5a3e0e7ac7b77dc6f5358c95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Fri, 26 Mar 2021 15:56:58 +0100 Subject: [PATCH] mwifiex: Update virtual interface counters right after @@ -1784,9 +1784,9 @@ index 44cff715bf29..e637129a411f 100644 } /* -- -2.31.1 +2.32.0 -From ee520b6a494804b43aff75673fd447dbc88c6221 Mon Sep 17 00:00:00 2001 +From 4af5a065e86fe6111e6bb83a7b3c0eca6847a26b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 11 Nov 2020 13:42:40 +0100 Subject: [PATCH] mwifiex: Allow switching interface type from P2P_CLIENT to @@ -1873,9 +1873,9 @@ index e637129a411f..395573db6405 100644 return mwifiex_change_vif_to_ap(dev, curr_iftype, type, params); -- -2.31.1 +2.32.0 -From 3d13d13fd53674b4f7066d7bc3517122473c6a9a Mon Sep 17 00:00:00 2001 +From 0771b1169c92c44e4f499384210527e7788fbb79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Fri, 26 Mar 2021 15:31:08 +0100 Subject: [PATCH] mwifiex: Handle interface type changes from AP to STATION @@ -1900,9 +1900,9 @@ index 395573db6405..90a757aa0b25 100644 type, params); break; -- -2.31.1 +2.32.0 -From 4c2aff52d7917a6e1143e259f889f2ee611d2305 Mon Sep 17 00:00:00 2001 +From f1b89e25e105cb029d520c9b5d009af6b9c3a075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Fri, 26 Mar 2021 15:32:16 +0100 Subject: [PATCH] mwifiex: Properly initialize private structure on interface @@ -1955,9 +1955,9 @@ index 90a757aa0b25..0c01d8f9048e 100644 default: mwifiex_dbg(adapter, ERROR, -- -2.31.1 +2.32.0 -From ede2847b36d421e780be5f3ed1751a67bc4f2197 Mon Sep 17 00:00:00 2001 +From 8a43562f7ea04a132ce1bdc61b39ef4dfe965efa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Sat, 27 Mar 2021 12:19:14 +0100 Subject: [PATCH] mwifiex: Fix copy-paste mistake when creating virtual @@ -1987,9 +1987,9 @@ index 0c01d8f9048e..8c472b2d982a 100644 priv->bss_started = 0; -- -2.31.1 +2.32.0 -From 133335d748375f7826a154e0f6eca36065289b64 Mon Sep 17 00:00:00 2001 +From 9e6c426ce67a4284d9b2670c40328b7aeb2add67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Sun, 28 Mar 2021 21:10:06 +0200 Subject: [PATCH] mwifiex: Try waking the firmware until we get an interrupt @@ -2076,9 +2076,9 @@ index 84b1d30e07e4..88d30ec6d57d 100644 if (reg->sleep_cookie) { mwifiex_pcie_dev_wakeup_delay(adapter); -- -2.31.1 +2.32.0 -From 5474582b5e5f9a43629caa3fe0c9a235502a8335 Mon Sep 17 00:00:00 2001 +From 0a666190c434c5f4bc6d07bf6c6c0b28a0f3a39f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Tue, 13 Apr 2021 14:30:28 +0200 Subject: [PATCH] mwifiex: Deactive host sleep using HSCFG after it was @@ -2232,9 +2232,9 @@ index d3a968ef21ef..76db9a7b8199 100644 hs_cfg->action = cpu_to_le16(HS_CONFIGURE); hs_cfg->params.hs_config.conditions = hscfg_param->conditions; -- -2.31.1 +2.32.0 -From 4a162ffaeea061ec940104b40121fc6dc2d5d8df Mon Sep 17 00:00:00 2001 +From cab23dbf7679065f56f6733ff5a45c2624d12c7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Tue, 13 Apr 2021 14:23:05 +0200 Subject: [PATCH] mwifiex: Add quirk to disable deep sleep with certain @@ -2335,9 +2335,9 @@ index 6b5d35d9e69f..8e49ebca1847 100644 version_ext->version_str_sel = ver_ext->version_str_sel; memcpy(version_ext->version_str, ver_ext->version_str, -- -2.31.1 +2.32.0 -From 62e5303cd8c507b4b8e53ee84aa9ba9f80404e98 Mon Sep 17 00:00:00 2001 +From 7cbdf8ae348ebad4beca6973a84db03d980e1dd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 11 Nov 2020 15:17:07 +0100 Subject: [PATCH] mwifiex: Don't log error on suspend if wake-on-wlan is @@ -2367,9 +2367,9 @@ index 8c472b2d982a..153025d1b2fa 100644 ret = 0; goto done; -- -2.31.1 +2.32.0 -From fec159688c4c8d0c096a3b2deaa47a1d2d22b4fb Mon Sep 17 00:00:00 2001 +From d3e8bb853e22d56ba72f5f9467e5c7c6415467fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Sun, 28 Mar 2021 21:42:54 +0200 Subject: [PATCH] mwifiex: Log an error on command failure during key-material @@ -2407,9 +2407,9 @@ index 153025d1b2fa..ef6ce3f63aec 100644 /* -- -2.31.1 +2.32.0 -From eea252f1a184557646a14d7fccd44827f47b4c0e Mon Sep 17 00:00:00 2001 +From 030823fd7c579c37a45239304ea53c8e95a4ddf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Tue, 13 Apr 2021 12:44:03 +0200 Subject: [PATCH] mwifiex: Fix an incorrect comment @@ -2435,9 +2435,9 @@ index 6696bce56178..b0695432b26a 100644 if (!INITIATOR_BIT(del_ba_param_set)) return 0; -- -2.31.1 +2.32.0 -From 18a6c332038f9be7a6dbb0c19f6abd98affa1407 Mon Sep 17 00:00:00 2001 +From 978efebd9008adbf1e22776a667200e8c1b35cb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Tue, 13 Apr 2021 12:45:59 +0200 Subject: [PATCH] mwifiex: Send DELBA requests according to spec @@ -2478,9 +2478,9 @@ index b0695432b26a..9ff2058bcd7e 100644 /* We don't wait for the response of this command */ -- -2.31.1 +2.32.0 -From e6cb7bd319a6d34ab059be62c8ec280550f40215 Mon Sep 17 00:00:00 2001 +From 8c8e06efcb5b6ec852b3ba932d6600bfb4ff55e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Tue, 13 Apr 2021 12:57:41 +0200 Subject: [PATCH] mwifiex: Ignore BTCOEX events from the firmware @@ -2516,9 +2516,9 @@ index 68c63268e2e6..933111a3511c 100644 case EVENT_RXBA_SYNC: dev_dbg(adapter->dev, "EVENT: RXBA_SYNC\n"); -- -2.31.1 +2.32.0 -From b258bfaa0c4788b2d8221a8d9b808ab429c3325c Mon Sep 17 00:00:00 2001 +From 6162c794d8c821273fd4a063973aa3a3d9bc5919 Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Fri, 14 May 2021 19:42:27 -0700 Subject: [PATCH] mwifiex: bring down link before deleting interface @@ -2618,5 +2618,5 @@ index a6be59ac1e27..be40813ffa5c 100644 } -- -2.31.1 +2.32.0 diff --git a/patches/5.12/0003-ath10k.patch b/patches/5.12/0003-ath10k.patch index 432c4453c..94194bbb5 100644 --- a/patches/5.12/0003-ath10k.patch +++ b/patches/5.12/0003-ath10k.patch @@ -1,4 +1,4 @@ -From d5c1e06cf9c5c98f534ddcc56aecb3ed95a154bb Mon Sep 17 00:00:00 2001 +From b486ce596ee388c2fbf2669ec08d587d14f02856 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 27 Feb 2021 00:45:52 +0100 Subject: [PATCH] ath10k: Add module parameters to override board files @@ -117,5 +117,5 @@ index 2f9be182fbfb..84ae17af3f98 100644 ret = firmware_request_nowarn(&fw, filename, ar->dev); ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot fw request '%s': %d\n", -- -2.31.1 +2.32.0 diff --git a/patches/5.12/0004-ipts.patch b/patches/5.12/0004-ipts.patch index 3aa91a2bf..b1a75f680 100644 --- a/patches/5.12/0004-ipts.patch +++ b/patches/5.12/0004-ipts.patch @@ -1,4 +1,4 @@ -From 37d30bfc9cbb42c28a2e4a5ceb957789337967b3 Mon Sep 17 00:00:00 2001 +From 4198c5c9f7fd9fc732b33834ecc7e780a2c11be4 Mon Sep 17 00:00:00 2001 From: Dorian Stoll Date: Thu, 30 Jul 2020 13:21:53 +0200 Subject: [PATCH] misc: mei: Add missing IPTS device IDs @@ -34,9 +34,9 @@ index c3393b383e59..0098f98426c1 100644 {MEI_PCI_DEVICE(MEI_DEV_ID_TGP_LP, MEI_ME_PCH15_CFG)}, {MEI_PCI_DEVICE(MEI_DEV_ID_TGP_H, MEI_ME_PCH15_SPS_CFG)}, -- -2.31.1 +2.32.0 -From c18bb81733f1819ef21665f3929f642a9d1d4b34 Mon Sep 17 00:00:00 2001 +From 0ac898fbd3e48b5a4266310c572b8974ea2d71d2 Mon Sep 17 00:00:00 2001 From: Dorian Stoll Date: Thu, 6 Aug 2020 11:20:41 +0200 Subject: [PATCH] misc: Add support for Intel Precise Touch & Stylus @@ -1499,5 +1499,5 @@ index 000000000000..53fb86a88f97 + +#endif /* _IPTS_UAPI_H_ */ -- -2.31.1 +2.32.0 diff --git a/patches/5.12/0005-surface-sam-over-hid.patch b/patches/5.12/0005-surface-sam-over-hid.patch index e33856f20..bc67c88fa 100644 --- a/patches/5.12/0005-surface-sam-over-hid.patch +++ b/patches/5.12/0005-surface-sam-over-hid.patch @@ -1,4 +1,4 @@ -From 7ab2ec4dac982191ec138367e3aef13998155445 Mon Sep 17 00:00:00 2001 +From 6da49554eeb34beb92b89754f35c93d357dfa486 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 25 Jul 2020 17:19:53 +0200 Subject: [PATCH] i2c: acpi: Implement RawBytes read access @@ -108,9 +108,9 @@ index 8ceaa88dd78f..deceed0d76c6 100644 dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n", accessor_type, client->addr); -- -2.31.1 +2.32.0 -From 43f8060274256ac0b05c42216961e77c3efd8b29 Mon Sep 17 00:00:00 2001 +From b928ebf5c753e8b0d76908d791be3bc69e1476b0 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 13 Feb 2021 16:41:18 +0100 Subject: [PATCH] platform/surface: Add driver for Surface Book 1 dGPU switch @@ -331,5 +331,5 @@ index 000000000000..8b816ed8f35c +MODULE_DESCRIPTION("Discrete GPU Power-Switch for Surface Book 1"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.32.0 diff --git a/patches/5.12/0006-surface-sam.patch b/patches/5.12/0006-surface-sam.patch index 01e933ac1..8db53b22b 100644 --- a/patches/5.12/0006-surface-sam.patch +++ b/patches/5.12/0006-surface-sam.patch @@ -1,4 +1,4 @@ -From dcb58a8f57f0fe583ec6547a8ec3d11a10283aa2 Mon Sep 17 00:00:00 2001 +From aa9ba6524556fbb145ad38abce235a511d54e7d7 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Fri, 12 Feb 2021 12:54:34 +0100 Subject: [PATCH] platform/surface: Set up Surface Aggregator device registry @@ -394,9 +394,9 @@ index 000000000000..a051d941ad96 +MODULE_DESCRIPTION("Device-registry for Surface System Aggregator Module"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.32.0 -From bd9ec0b3ff53a71c2b1a2c724b753af409a5ec54 Mon Sep 17 00:00:00 2001 +From a7ee92df17ee57fc54fee1463e4756add999c9c4 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Fri, 12 Feb 2021 12:54:35 +0100 Subject: [PATCH] platform/surface: aggregator_registry: Add base device hub @@ -723,9 +723,9 @@ index a051d941ad96..6c23d75a044c 100644 MODULE_AUTHOR("Maximilian Luz "); MODULE_DESCRIPTION("Device-registry for Surface System Aggregator Module"); -- -2.31.1 +2.32.0 -From 2af15024e9648d0dc1ef1d7abd7ac9eb6659c6b2 Mon Sep 17 00:00:00 2001 +From 1ad77ad680b032f9031a9048a16c294ebccf51dc Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Fri, 12 Feb 2021 12:54:36 +0100 Subject: [PATCH] platform/surface: aggregator_registry: Add battery subsystem @@ -812,9 +812,9 @@ index 6c23d75a044c..cde279692842 100644 }; -- -2.31.1 +2.32.0 -From 69b3eb33af3167156be96cdcd5c5c9c4952ae9aa Mon Sep 17 00:00:00 2001 +From 0632d41d8f1d1f416abf6a276738f6925147302f Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Fri, 12 Feb 2021 12:54:37 +0100 Subject: [PATCH] platform/surface: aggregator_registry: Add platform profile @@ -914,9 +914,9 @@ index cde279692842..33904613dd4b 100644 }; -- -2.31.1 +2.32.0 -From 9bd7f46ec3d7999f4b1f9d4225bb58d4cc0d16c7 Mon Sep 17 00:00:00 2001 +From 1bdf9933be6f4d7da027ed7087d24024b4344dfa Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Fri, 12 Feb 2021 12:54:38 +0100 Subject: [PATCH] platform/surface: aggregator_registry: Add DTX device @@ -958,9 +958,9 @@ index 33904613dd4b..dc044d06828b 100644 }; -- -2.31.1 +2.32.0 -From 229bf15da7ff9158a9655d3a87af1e1a10bcf222 Mon Sep 17 00:00:00 2001 +From 058d7a59d391c501170138e6eee8fd9270d7b032 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Fri, 12 Feb 2021 12:54:39 +0100 Subject: [PATCH] platform/surface: aggregator_registry: Add HID subsystem @@ -1054,9 +1054,9 @@ index dc044d06828b..caee90d135c5 100644 }; -- -2.31.1 +2.32.0 -From 07a77412635bee826d430cc6abb3aa568f62f98e Mon Sep 17 00:00:00 2001 +From 3928b25950c4420f62f53f36fa4d0d018f5177f9 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Thu, 11 Feb 2021 21:17:03 +0100 Subject: [PATCH] platform/surface: Add platform profile driver @@ -1340,9 +1340,9 @@ index 000000000000..0081b01a5b0f +MODULE_DESCRIPTION("Platform Profile Support for Surface System Aggregator Module"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.32.0 -From 54aa4ce443abfea49d246dc67f0f7b5286657cef Mon Sep 17 00:00:00 2001 +From 30ba0a7fa5fa8ffebd347613b5f418e929a7386a Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Thu, 4 Mar 2021 20:05:24 +0100 Subject: [PATCH] platform/surface: aggregator: Make SSAM_DEFINE_SYNC_REQUEST_x @@ -1719,9 +1719,9 @@ index 02f3e06c0a60..4441ad667c3f 100644 return __raw_##name(sdev->ctrl, sdev->uid.target, \ sdev->uid.instance, ret); \ -- -2.31.1 +2.32.0 -From f59d83ae545f4c18318b43d1144d1334317cf3b8 Mon Sep 17 00:00:00 2001 +From a6298c49bd907d6ebf3f33b049f89febc6be5f6c Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Mon, 8 Mar 2021 19:48:17 +0100 Subject: [PATCH] platform/surface: Add DTX driver @@ -3214,9 +3214,9 @@ index 000000000000..0833aab0d819 + +#endif /* _UAPI_LINUX_SURFACE_AGGREGATOR_DTX_H */ -- -2.31.1 +2.32.0 -From bc8b498c4f1081aabfa9261e515553f410073d75 Mon Sep 17 00:00:00 2001 +From 2016437480c23131d92ec9d966dc49a3f87ad78d Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Mon, 8 Mar 2021 19:48:18 +0100 Subject: [PATCH] platform/surface: dtx: Add support for native SSAM devices @@ -3358,9 +3358,9 @@ index 1301fab0ea14..85451eb94d98 100644 MODULE_AUTHOR("Maximilian Luz "); MODULE_DESCRIPTION("Detachment-system driver for Surface System Aggregator Module"); -- -2.31.1 +2.32.0 -From e8c0afe52bc86bfa6a14f2899d5b0fc9e61f3d47 Mon Sep 17 00:00:00 2001 +From 8e834adfb98ea0c1cb4660aacdeac4b6c5ceb7e7 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Mon, 8 Mar 2021 19:48:19 +0100 Subject: [PATCH] docs: driver-api: Add Surface DTX driver documentation @@ -4129,9 +4129,9 @@ index 3917e7363520..da1487d672a8 100644 F: include/uapi/linux/surface_aggregator/dtx.h -- -2.31.1 +2.32.0 -From cece957db61033a054636e1ff4b70bc6a8aa054e Mon Sep 17 00:00:00 2001 +From 9b42287cd84686e9dabc4631d5c9fa4836f7d773 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Tue, 9 Mar 2021 13:15:00 +0000 Subject: [PATCH] platform/surface: aggregator_registry: Make symbol @@ -4170,9 +4170,9 @@ index cdb4a95af3e8..86cff5fce3cd 100644 }; -- -2.31.1 +2.32.0 -From f074f513475531795dad0bdeb0b2c7cf79e3e9eb Mon Sep 17 00:00:00 2001 +From b618934a4995a9e79bcdc1142631cdf54a3eb53c Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Tue, 9 Mar 2021 17:25:50 +0100 Subject: [PATCH] platform/surface: aggregator_registry: Add support for @@ -4213,9 +4213,9 @@ index 86cff5fce3cd..eccb9d1007cd 100644 { "MSHW0107", (unsigned long)ssam_node_group_sb2 }, -- -2.31.1 +2.32.0 -From 43260dfd900086851f69edcd9b94831c441a9d51 Mon Sep 17 00:00:00 2001 +From 0461a5116e9723a5799e435fd22810b1a18d2bfd Mon Sep 17 00:00:00 2001 From: kernel test robot Date: Fri, 19 Mar 2021 13:19:19 +0800 Subject: [PATCH] platform/surface: fix semicolon.cocci warnings @@ -4252,9 +4252,9 @@ index 85451eb94d98..1fedacf74050 100644 if (in->length != len) { dev_err(ddev->dev, -- -2.31.1 +2.32.0 -From c695dfb0b969183132fd24df40714f7ceca5f206 Mon Sep 17 00:00:00 2001 +From fbd1a5807e882f8e4e65e1fbf06623ebb150fa96 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Fri, 26 Mar 2021 15:28:48 +0300 Subject: [PATCH] platform/surface: clean up a variable in surface_dtx_read() @@ -4285,9 +4285,9 @@ index 1fedacf74050..63ce587e79e3 100644 /* Need to check that we're not shut down again. */ -- -2.31.1 +2.32.0 -From 239774ce54113c05ef8aac87c2ac55a8fa5aac40 Mon Sep 17 00:00:00 2001 +From 7ebd992f400ab9588f9795f30f3c370fa4b3b7d3 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Tue, 6 Apr 2021 01:12:22 +0200 Subject: [PATCH] platform/surface: aggregator_registry: Give devices time to @@ -4528,9 +4528,9 @@ index eccb9d1007cd..685d37a7add1 100644 static const struct ssam_device_id ssam_base_hub_match[] = { -- -2.31.1 +2.32.0 -From a82ba318a67ccda352ec4da4e8508444488871b1 Mon Sep 17 00:00:00 2001 +From b305658cafa96eec90ed2fccdbd2b1e7990e7739 Mon Sep 17 00:00:00 2001 From: Barry Song Date: Wed, 3 Mar 2021 11:49:15 +1300 Subject: [PATCH] genirq: Add IRQF_NO_AUTOEN for request_irq/nmi() @@ -4630,9 +4630,9 @@ index 21ea370fccda..49288e941365 100644 WARN_ON(irq_settings_is_per_cpu_devid(desc)) || !irq_supports_nmi(desc)) -- -2.31.1 +2.32.0 -From d85c3cdfefbcd2e1ecbd398772fcd3474bab0661 Mon Sep 17 00:00:00 2001 +From 2711c67fd4aaa590060f396bab2e1a7a3888b6ac Mon Sep 17 00:00:00 2001 From: Tian Tao Date: Wed, 7 Apr 2021 15:00:52 +0800 Subject: [PATCH] platform/surface: aggregator: move to use request_irq by @@ -4677,9 +4677,9 @@ index 88ec47cae5bf..69e86cd599d3 100644 } -- -2.31.1 +2.32.0 -From eda77d8351b45e6c13aacf14a9ea21d0839c1a31 Mon Sep 17 00:00:00 2001 +From 5964d8a52ae4a2d8e16e4ce8c076eaba377e5cec Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 5 May 2021 14:53:45 +0200 Subject: [PATCH] platform/surface: aggregator: Do not mark interrupt as shared @@ -4711,9 +4711,9 @@ index 69e86cd599d3..8a70df60142c 100644 gpiod = gpiod_get(dev, "ssam_wakeup-int", GPIOD_ASIS); if (IS_ERR(gpiod)) -- -2.31.1 +2.32.0 -From 2e9b2a7bdfd237c79513ffde0bb969af71ca43ed Mon Sep 17 00:00:00 2001 +From 149beb79e92f12b75241d317a956847d743587a0 Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Fri, 14 May 2021 22:04:36 +0200 Subject: [PATCH] platform/surface: aggregator: avoid clang @@ -4770,9 +4770,9 @@ index 4441ad667c3f..6ff9c58b3e17 100644 /** * SSAM_VDEV() - Initialize a &struct ssam_device_id as virtual device with -- -2.31.1 +2.32.0 -From 5aeaf1c3cca06f4618066090ecb10b546c873665 Mon Sep 17 00:00:00 2001 +From 5d495258cd15f59431766d45c06e7a437dd165c0 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Thu, 13 May 2021 15:44:37 +0200 Subject: [PATCH] platform/surface: dtx: Fix poll function @@ -4823,9 +4823,9 @@ index 63ce587e79e3..5d9b758a99bb 100644 } -- -2.31.1 +2.32.0 -From f36b21af1d1bc804d795b88092709c6fefaaed71 Mon Sep 17 00:00:00 2001 +From c01878b3648b032c36b470467c8038a205a923b9 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sun, 23 May 2021 14:35:37 +0200 Subject: [PATCH] platform/surface: aggregator_registry: Update comments for @@ -4864,9 +4864,9 @@ index 685d37a7add1..bdc09305aab7 100644 /* Surface Laptop Go 1 */ -- -2.31.1 +2.32.0 -From 33a4abdf331ded09dc8ecabba5299850ccc1bcda Mon Sep 17 00:00:00 2001 +From fd4c2be4f90e45cd114506ab7fcb25257f9a6a9d Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sun, 23 May 2021 14:36:36 +0200 Subject: [PATCH] platform/surface: aggregator_registry: Add support for 13" @@ -4899,9 +4899,9 @@ index bdc09305aab7..ef83461fa536 100644 { "MSHW0118", (unsigned long)ssam_node_group_slg1 }, -- -2.31.1 +2.32.0 -From 4c3766c4321c57bb85061182da336015ada24e30 Mon Sep 17 00:00:00 2001 +From cf2eb9af798e965cf17bfff82cec89e5af17badd Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sun, 23 May 2021 14:09:42 +0200 Subject: [PATCH] platform/surface: aggregator_registry: Consolidate node @@ -5015,9 +5015,9 @@ index ef83461fa536..4428c4330229 100644 /* Surface Laptop 3 (13", Intel) */ { "MSHW0114", (unsigned long)ssam_node_group_sl3 }, -- -2.31.1 +2.32.0 -From 6622a1d5af0578d429365c6446800995b2185c18 Mon Sep 17 00:00:00 2001 +From 8dcc001ab423932eb36c118924177aed3b84142b Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Thu, 3 Jun 2021 01:48:36 +0200 Subject: [PATCH] platform/surface: aggregator: Fix event disable function @@ -5051,9 +5051,9 @@ index 8a70df60142c..a06964aa96e7 100644 if (status < 0 && status != -EINVAL) { ssam_err(ctrl, -- -2.31.1 +2.32.0 -From 24abeff8201a18003455de6faf654f5d50bde18f Mon Sep 17 00:00:00 2001 +From c6a118ef4445a83b593fa435440c8b60a11e6f0e Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 10 Mar 2021 23:53:28 +0100 Subject: [PATCH] HID: Add support for Surface Aggregator Module HID transport @@ -5798,9 +5798,9 @@ index 000000000000..4b1a7b57e035 + +#endif /* SURFACE_HID_CORE_H */ -- -2.31.1 +2.32.0 -From 30f692e029bec71885d3a9f2adab1d4cba69d350 Mon Sep 17 00:00:00 2001 +From 8b076986259615b6774eb4a66f6234dc5d6bc902 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 10 Mar 2021 23:53:29 +0100 Subject: [PATCH] HID: surface-hid: Add support for legacy keyboard interface @@ -6169,9 +6169,9 @@ index 000000000000..0635341bc517 +MODULE_DESCRIPTION("HID legacy transport driver for Surface System Aggregator Module"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.32.0 -From 16a10fc4c1e9bb44e0aa87b2a5a63f8a06ea9f0a Mon Sep 17 00:00:00 2001 +From 73a215fa43a5a14a5f527cc5dbd6e316492c64fe Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Fri, 23 Apr 2021 00:51:22 +0200 Subject: [PATCH] HID: surface-hid: Fix integer endian conversion @@ -6208,9 +6208,50 @@ index 7b27ec392232..5571e74abe91 100644 snprintf(shid->hid->name, sizeof(shid->hid->name), "Microsoft Surface %04X:%04X", -- -2.31.1 +2.32.0 -From 92843e081e10746ded52926df2533cb396967b13 Mon Sep 17 00:00:00 2001 +From b62ad9539e19a4dbc5c1cc1762a1227dcd8bd62f Mon Sep 17 00:00:00 2001 +From: Maximilian Luz +Date: Mon, 7 Jun 2021 21:56:22 +0200 +Subject: [PATCH] HID: surface-hid: Fix get-report request + +Getting a report (e.g. feature report) from a device requires us to send +a request indicating which report we want to retreive and then waiting +for the corresponding response containing that report. We already +provide the response structure to the request call, but the request +isn't marked as a request that expects a response. Thus the request +returns before we receive the response and the response buffer indicates +a zero length response due to that. + +This essentially means that the get-report calls are broken and will +always indicate that a report of length zero has been read. + +Fix this by appropriately marking the request. + +Fixes: b05ff1002a5c ("HID: Add support for Surface Aggregator Module HID transport") +Signed-off-by: Maximilian Luz +Patchset: surface-sam +--- + drivers/hid/surface-hid/surface_hid.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/hid/surface-hid/surface_hid.c b/drivers/hid/surface-hid/surface_hid.c +index 3477b31611ae..a3a70e4f3f6c 100644 +--- a/drivers/hid/surface-hid/surface_hid.c ++++ b/drivers/hid/surface-hid/surface_hid.c +@@ -143,7 +143,7 @@ static int ssam_hid_get_raw_report(struct surface_hid_device *shid, u8 rprt_id, + rqst.target_id = shid->uid.target; + rqst.instance_id = shid->uid.instance; + rqst.command_id = SURFACE_HID_CID_GET_FEATURE_REPORT; +- rqst.flags = 0; ++ rqst.flags = SSAM_REQUEST_HAS_RESPONSE; + rqst.length = sizeof(rprt_id); + rqst.payload = &rprt_id; + +-- +2.32.0 + +From d65242c9383c25182014ef5b3876f41af266ae02 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Tue, 6 Apr 2021 01:41:25 +0200 Subject: [PATCH] power: supply: Add battery driver for Surface Aggregator @@ -7190,9 +7231,9 @@ index 000000000000..4116dd839ecd +MODULE_DESCRIPTION("Battery driver for Surface System Aggregator Module"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.32.0 -From da2fad54ff23a696162c443023b3905fd78e52e6 Mon Sep 17 00:00:00 2001 +From a75110f7757e6f58304ba69b39666380071bf334 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Tue, 6 Apr 2021 01:41:26 +0200 Subject: [PATCH] power: supply: Add AC driver for Surface Aggregator Module @@ -7558,9 +7599,9 @@ index 000000000000..c2dd7e604d14 +MODULE_DESCRIPTION("AC driver for Surface System Aggregator Module"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.32.0 -From a53f0e0ac6d9fffc0ed16976ebd3252af61ef4c8 Mon Sep 17 00:00:00 2001 +From 4e2c24313751826a0d43a675fc1872477ed9f978 Mon Sep 17 00:00:00 2001 From: Qiheng Lin Date: Sat, 10 Apr 2021 12:12:46 +0800 Subject: [PATCH] power: supply: surface-battery: Make some symbols static @@ -7607,9 +7648,9 @@ index 4116dd839ecd..7efa431a62b2 100644 static int surface_battery_probe(struct ssam_device *sdev) { -- -2.31.1 +2.32.0 -From d68f7c71fba8c1d6dae7c6cb2ef7f78de75bb2b5 Mon Sep 17 00:00:00 2001 +From 96e3f04858f6ebe7b0b580debdfb77c726fffea0 Mon Sep 17 00:00:00 2001 From: Qiheng Lin Date: Sat, 10 Apr 2021 12:12:49 +0800 Subject: [PATCH] power: supply: surface-charger: Make symbol @@ -7646,9 +7687,9 @@ index c2dd7e604d14..81a5b79822c9 100644 static int surface_ac_probe(struct ssam_device *sdev) { -- -2.31.1 +2.32.0 -From e5fd08390689c8c2144c9aa90188e28ba7372de8 Mon Sep 17 00:00:00 2001 +From e88360fb44b2a03ef1333aeec9ce4554978c3ca8 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Tue, 4 May 2021 20:00:46 +0200 Subject: [PATCH] power: supply: surface_battery: Fix battery event handling @@ -7703,9 +7744,9 @@ index 7efa431a62b2..5ec2e6bb2465 100644 bat->psy_desc.name = bat->name; -- -2.31.1 +2.32.0 -From 0f1ef7e29d3ba15de0aed8e1edfd12d44eda0dc6 Mon Sep 17 00:00:00 2001 +From 77d33f8f3df530bb5434ff1158ba0e9af4f130c5 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Tue, 11 May 2021 11:24:21 +0200 Subject: [PATCH] power: supply: surface-charger: Fix type of integer variable @@ -7735,9 +7776,9 @@ index 81a5b79822c9..a060c36c7766 100644 lockdep_assert_held(&ac->lock); -- -2.31.1 +2.32.0 -From a1ff82ee7162a0f5056ac9507e8511823db3ad4d Mon Sep 17 00:00:00 2001 +From d1102ca27b35297c693c73fba75c0eba5ff91d1a Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 2 Jun 2021 18:27:21 +0200 Subject: [PATCH] platform/surface: aggregator: Allow registering notifiers @@ -7960,9 +8001,9 @@ index 0806796eabcb..cf4bb48a850e 100644 int ssam_notifier_register(struct ssam_controller *ctrl, -- -2.31.1 +2.32.0 -From 45da405506252340b73f354c271a592851898f3c Mon Sep 17 00:00:00 2001 +From 1ce295263dfedd7ceddf75b3030a0f940183d0ba Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 2 Jun 2021 18:34:48 +0200 Subject: [PATCH] platform/surface: aggregator: Allow enabling of events @@ -8161,9 +8202,9 @@ index cf4bb48a850e..7965bdc669c5 100644 + #endif /* _LINUX_SURFACE_AGGREGATOR_CONTROLLER_H */ -- -2.31.1 +2.32.0 -From 32c11101ef436969d4af7c478f431ec4293579b6 Mon Sep 17 00:00:00 2001 +From 423299bd5e0e2cba4b71c9aef973232511ebb958 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Thu, 3 Jun 2021 00:10:38 +0200 Subject: [PATCH] platform/surface: aggregator: Update copyright @@ -8424,9 +8465,9 @@ index 64276fbfa1d5..c3de43edcffa 100644 #ifndef _LINUX_SURFACE_AGGREGATOR_SERIAL_HUB_H -- -2.31.1 +2.32.0 -From d47f5689f687f6e308b4b3452015c5ee4edfa4a8 Mon Sep 17 00:00:00 2001 +From 5e9a53c7b99d2dfb18d79d54a4e62043bf230a60 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 2 Jun 2021 19:29:16 +0200 Subject: [PATCH] platform/surface: aggregator_cdev: Add support for forwarding @@ -9114,9 +9155,9 @@ index fbcce04abfe9..4f393fafc235 100644 #endif /* _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H */ -- -2.31.1 +2.32.0 -From 27fffb2efe662f4d8342b2720bcfca2a95e9180a Mon Sep 17 00:00:00 2001 +From 5193133cb761eb9c510849eec9c737369e1d1d3b Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 2 Jun 2021 19:30:42 +0200 Subject: [PATCH] platform/surface: aggregator_cdev: Allow enabling of events @@ -9265,9 +9306,9 @@ index 4f393fafc235..08f46b60b151 100644 #endif /* _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H */ -- -2.31.1 +2.32.0 -From 3695fed38f9a0c5ffafc91309a9114cd0b0f7ad9 Mon Sep 17 00:00:00 2001 +From ad42eb537c009ac1aeca65197cfaf19bb2cc2beb Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 2 Jun 2021 19:38:07 +0200 Subject: [PATCH] platform/surface: aggregator_cdev: Add lockdep support @@ -9358,9 +9399,529 @@ index 55bf55c93624..2cad4147645c 100644 case SSAM_CDEV_REQUEST: return ssam_cdev_request(client, (struct ssam_cdev_request __user *)arg); -- -2.31.1 +2.32.0 -From f1dc40840a4ce42217c46d4c0a9b37722461ee3f Mon Sep 17 00:00:00 2001 +From 48656994a93e65ff6b4824ce5d79af45aabd1f51 Mon Sep 17 00:00:00 2001 +From: Maximilian Luz +Date: Fri, 4 Jun 2021 22:28:41 +0200 +Subject: [PATCH] platform/surface: aggregator: Fixups for user-space event + forwarding series + +Patchset: surface-sam +--- + .../platform/surface/aggregator/controller.c | 248 +++++++++++------- + .../surface/surface_aggregator_cdev.c | 32 ++- + 2 files changed, 174 insertions(+), 106 deletions(-) + +diff --git a/drivers/platform/surface/aggregator/controller.c b/drivers/platform/surface/aggregator/controller.c +index e91ee7e72c14..6646f4d6e10d 100644 +--- a/drivers/platform/surface/aggregator/controller.c ++++ b/drivers/platform/surface/aggregator/controller.c +@@ -407,6 +407,31 @@ ssam_nf_refcount_dec(struct ssam_nf *nf, struct ssam_event_registry reg, + return NULL; + } + ++/** ++ * ssam_nf_refcount_dec_free() - Decrement reference-/activation-count of the ++ * given event and free its entry if the reference count reaches zero. ++ * @nf: The notifier system reference. ++ * @reg: The registry used to enable/disable the event. ++ * @id: The event ID. ++ * ++ * Decrements the reference-/activation-count of the specified event, freeing ++ * its entry if it reaches zero. ++ * ++ * Note: ``nf->lock`` must be held when calling this function. ++ */ ++static void ssam_nf_refcount_dec_free(struct ssam_nf *nf, ++ struct ssam_event_registry reg, ++ struct ssam_event_id id) ++{ ++ struct ssam_nf_refcount_entry *entry; ++ ++ lockdep_assert_held(&nf->lock); ++ ++ entry = ssam_nf_refcount_dec(nf, reg, id); ++ if (entry && entry->refcount == 0) ++ kfree(entry); ++} ++ + /** + * ssam_nf_refcount_empty() - Test if the notification system has any + * enabled/active events. +@@ -2122,6 +2147,109 @@ int ssam_ctrl_notif_d0_entry(struct ssam_controller *ctrl) + + /* -- Top-level event registry interface. ----------------------------------- */ + ++/** ++ * ssam_nf_refcount_enable() - Enable event for reference count entry if it has ++ * not already been enabled. ++ * @ctrl: The controller to enable the event on. ++ * @entry: The reference count entry for the event to be enabled. ++ * @flags: The flags used for enabling the event on the EC. ++ * ++ * Enable the event associated with the given reference count entry if the ++ * reference count equals one, i.e. the event has not previously been enabled. ++ * If the event has already been enabled (i.e. reference count not equal to ++ * one), check that the flags used for enabling match and warn about this if ++ * they do not. ++ * ++ * This does not modify the reference count itself, which is done with ++ * ssam_nf_refcount_inc() / ssam_nf_refcount_dec(). ++ * ++ * Note: ``nf->lock`` must be held when calling this function. ++ * ++ * Return: Returns zero on success. If the event is enabled by this call, ++ * returns the status of the event-enable EC command. ++ */ ++static int ssam_nf_refcount_enable(struct ssam_controller *ctrl, ++ struct ssam_nf_refcount_entry *entry, u8 flags) ++{ ++ const struct ssam_event_registry reg = entry->key.reg; ++ const struct ssam_event_id id = entry->key.id; ++ struct ssam_nf *nf = &ctrl->cplt.event.notif; ++ int status; ++ ++ lockdep_assert_held(&nf->lock); ++ ++ ssam_dbg(ctrl, "enabling event (reg: %#04x, tc: %#04x, iid: %#04x, rc: %d)\n", ++ reg.target_category, id.target_category, id.instance, entry->refcount); ++ ++ if (entry->refcount == 1) { ++ status = ssam_ssh_event_enable(ctrl, reg, id, flags); ++ if (status) ++ return status; ++ ++ entry->flags = flags; ++ ++ } else if (entry->flags != flags) { ++ ssam_warn(ctrl, ++ "inconsistent flags when enabling event: got %#04x, expected %#04x (reg: %#04x, tc: %#04x, iid: %#04x)\n", ++ flags, entry->flags, reg.target_category, id.target_category, ++ id.instance); ++ } ++ ++ return 0; ++} ++ ++/** ++ * ssam_nf_refcount_disable_free() - Disable event for reference count entry if it is ++ * no longer in use and free the corresponding entry. ++ * @ctrl: The controller to disable the event on. ++ * @entry: The reference count entry for the event to be disabled. ++ * @flags: The flags used for enabling the event on the EC. ++ * ++ * If the reference count equals zero, i.e. the event is no longer requested by ++ * any client, the event will be disabled and the corresponding reference count ++ * entry freed. The reference count entry must not be used any more after a ++ * call to this function. ++ * ++ * Also checks if the flags used for disabling the event match the flags used ++ * for enabling the event and warns if they do not (regardless of reference ++ * count). ++ * ++ * This does not modify the reference count itself, which is done with ++ * ssam_nf_refcount_inc() / ssam_nf_refcount_dec(). ++ * ++ * Note: ``nf->lock`` must be held when calling this function. ++ * ++ * Return: Returns zero on success. If the event is disabled by this call, ++ * returns the status of the event-enable EC command. ++ */ ++static int ssam_nf_refcount_disable_free(struct ssam_controller *ctrl, ++ struct ssam_nf_refcount_entry *entry, u8 flags) ++{ ++ const struct ssam_event_registry reg = entry->key.reg; ++ const struct ssam_event_id id = entry->key.id; ++ struct ssam_nf *nf = &ctrl->cplt.event.notif; ++ int status; ++ ++ lockdep_assert_held(&nf->lock); ++ ++ ssam_dbg(ctrl, "disabling event (reg: %#04x, tc: %#04x, iid: %#04x, rc: %d)\n", ++ reg.target_category, id.target_category, id.instance, entry->refcount); ++ ++ if (entry->flags != flags) { ++ ssam_warn(ctrl, ++ "inconsistent flags when disabling event: got %#04x, expected %#04x (reg: %#04x, tc: %#04x, iid: %#04x)\n", ++ flags, entry->flags, reg.target_category, id.target_category, ++ id.instance); ++ } ++ ++ if (entry->refcount == 0) { ++ status = ssam_ssh_event_disable(ctrl, reg, id, flags); ++ kfree(entry); ++ } ++ ++ return status; ++} ++ + /** + * ssam_notifier_register() - Register an event notifier. + * @ctrl: The controller to register the notifier on. +@@ -2166,41 +2294,26 @@ int ssam_notifier_register(struct ssam_controller *ctrl, struct ssam_event_notif + mutex_unlock(&nf->lock); + return PTR_ERR(entry); + } +- +- ssam_dbg(ctrl, "enabling event (reg: %#04x, tc: %#04x, iid: %#04x, rc: %d)\n", +- n->event.reg.target_category, n->event.id.target_category, +- n->event.id.instance, entry->refcount); + } + + status = ssam_nfblk_insert(nf_head, &n->base); + if (status) { +- if (entry) { +- entry = ssam_nf_refcount_dec(nf, n->event.reg, n->event.id); +- if (entry->refcount == 0) +- kfree(entry); +- } ++ if (entry) ++ ssam_nf_refcount_dec_free(nf, n->event.reg, n->event.id); + + mutex_unlock(&nf->lock); + return status; + } + +- if (entry && entry->refcount == 1) { +- status = ssam_ssh_event_enable(ctrl, n->event.reg, n->event.id, n->event.flags); ++ if (entry) { ++ status = ssam_nf_refcount_enable(ctrl, entry, n->event.flags); + if (status) { + ssam_nfblk_remove(&n->base); +- kfree(ssam_nf_refcount_dec(nf, n->event.reg, n->event.id)); ++ ssam_nf_refcount_dec_free(nf, n->event.reg, n->event.id); + mutex_unlock(&nf->lock); + synchronize_srcu(&nf_head->srcu); + return status; + } +- +- entry->flags = n->event.flags; +- +- } else if (entry && entry->flags != n->event.flags) { +- ssam_warn(ctrl, +- "inconsistent flags when enabling event: got %#04x, expected %#04x (reg: %#04x, tc: %#04x, iid: %#04x)\n", +- n->event.flags, entry->flags, n->event.reg.target_category, +- n->event.id.target_category, n->event.id.instance); + } + + mutex_unlock(&nf->lock); +@@ -2247,35 +2360,20 @@ int ssam_notifier_unregister(struct ssam_controller *ctrl, struct ssam_event_not + * If this is an observer notifier, do not attempt to disable the + * event, just remove it. + */ +- if (n->flags & SSAM_EVENT_NOTIFIER_OBSERVER) +- goto remove; +- +- entry = ssam_nf_refcount_dec(nf, n->event.reg, n->event.id); +- if (WARN_ON(!entry)) { +- /* +- * If this does not return an entry, there's a logic error +- * somewhere: The notifier block is registered, but the event +- * refcount entry is not there. Remove the notifier block +- * anyways. +- */ +- status = -ENOENT; +- goto remove; +- } +- +- ssam_dbg(ctrl, "disabling event (reg: %#04x, tc: %#04x, iid: %#04x, rc: %d)\n", +- n->event.reg.target_category, n->event.id.target_category, +- n->event.id.instance, entry->refcount); ++ if (!(n->flags & SSAM_EVENT_NOTIFIER_OBSERVER)) { ++ entry = ssam_nf_refcount_dec(nf, n->event.reg, n->event.id); ++ if (WARN_ON(!entry)) { ++ /* ++ * If this does not return an entry, there's a logic ++ * error somewhere: The notifier block is registered, ++ * but the event refcount entry is not there. Remove ++ * the notifier block anyways. ++ */ ++ status = -ENOENT; ++ goto remove; ++ } + +- if (entry->flags != n->event.flags) { +- ssam_warn(ctrl, +- "inconsistent flags when disabling event: got %#04x, expected %#04x (reg: %#04x, tc: %#04x, iid: %#04x)\n", +- n->event.flags, entry->flags, n->event.reg.target_category, +- n->event.id.target_category, n->event.id.instance); +- } +- +- if (entry->refcount == 0) { +- status = ssam_ssh_event_disable(ctrl, n->event.reg, n->event.id, n->event.flags); +- kfree(entry); ++ status = ssam_nf_refcount_disable_free(ctrl, entry, n->event.flags); + } + + remove: +@@ -2313,17 +2411,13 @@ int ssam_controller_event_enable(struct ssam_controller *ctrl, + struct ssam_event_id id, u8 flags) + { + u16 rqid = ssh_tc_to_rqid(id.target_category); ++ struct ssam_nf *nf = &ctrl->cplt.event.notif; + struct ssam_nf_refcount_entry *entry; +- struct ssam_nf_head *nf_head; +- struct ssam_nf *nf; + int status; + + if (!ssh_rqid_is_event(rqid)) + return -EINVAL; + +- nf = &ctrl->cplt.event.notif; +- nf_head = &nf->head[ssh_rqid_to_event(rqid)]; +- + mutex_lock(&nf->lock); + + entry = ssam_nf_refcount_inc(nf, reg, id); +@@ -2332,25 +2426,11 @@ int ssam_controller_event_enable(struct ssam_controller *ctrl, + return PTR_ERR(entry); + } + +- ssam_dbg(ctrl, "enabling event (reg: %#04x, tc: %#04x, iid: %#04x, rc: %d)\n", +- reg.target_category, id.target_category, id.instance, +- entry->refcount); +- +- if (entry->refcount == 1) { +- status = ssam_ssh_event_enable(ctrl, reg, id, flags); +- if (status) { +- kfree(ssam_nf_refcount_dec(nf, reg, id)); +- mutex_unlock(&nf->lock); +- return status; +- } +- +- entry->flags = flags; +- +- } else if (entry->flags != flags) { +- ssam_warn(ctrl, +- "inconsistent flags when enabling event: got %#04x, expected %#04x (reg: %#04x, tc: %#04x, iid: %#04x)\n", +- flags, entry->flags, reg.target_category, +- id.target_category, id.instance); ++ status = ssam_nf_refcount_enable(ctrl, entry, flags); ++ if (status) { ++ ssam_nf_refcount_dec_free(nf, reg, id); ++ mutex_unlock(&nf->lock); ++ return status; + } + + mutex_unlock(&nf->lock); +@@ -2382,40 +2462,22 @@ int ssam_controller_event_disable(struct ssam_controller *ctrl, + struct ssam_event_id id, u8 flags) + { + u16 rqid = ssh_tc_to_rqid(id.target_category); ++ struct ssam_nf *nf = &ctrl->cplt.event.notif; + struct ssam_nf_refcount_entry *entry; +- struct ssam_nf_head *nf_head; +- struct ssam_nf *nf; + int status = 0; + + if (!ssh_rqid_is_event(rqid)) + return -EINVAL; + +- nf = &ctrl->cplt.event.notif; +- nf_head = &nf->head[ssh_rqid_to_event(rqid)]; +- + mutex_lock(&nf->lock); + + entry = ssam_nf_refcount_dec(nf, reg, id); +- if (WARN_ON(!entry)) { ++ if (!entry) { + mutex_unlock(&nf->lock); + return -ENOENT; + } + +- ssam_dbg(ctrl, "disabling event (reg: %#04x, tc: %#04x, iid: %#04x, rc: %d)\n", +- reg.target_category, id.target_category, id.instance, +- entry->refcount); +- +- if (entry->flags != flags) { +- ssam_warn(ctrl, +- "inconsistent flags when disabling event: got %#04x, expected %#04x (reg: %#04x, tc: %#04x, iid: %#04x)\n", +- flags, entry->flags, reg.target_category, +- id.target_category, id.instance); +- } +- +- if (entry->refcount == 0) { +- status = ssam_ssh_event_disable(ctrl, reg, id, flags); +- kfree(entry); +- } ++ status = ssam_nf_refcount_disable_free(ctrl, entry, flags); + + mutex_unlock(&nf->lock); + return status; +diff --git a/drivers/platform/surface/surface_aggregator_cdev.c b/drivers/platform/surface/surface_aggregator_cdev.c +index 2cad4147645c..30fb50fde450 100644 +--- a/drivers/platform/surface/surface_aggregator_cdev.c ++++ b/drivers/platform/surface/surface_aggregator_cdev.c +@@ -22,6 +22,7 @@ + + #include + #include ++#include + + #define SSAM_CDEV_DEVICE_NAME "surface_aggregator_cdev" + +@@ -131,22 +132,23 @@ static u32 ssam_cdev_notifier(struct ssam_event_notifier *nf, const struct ssam_ + return 0; + } + +-static int ssam_cdev_notifier_register(struct ssam_cdev_client *client, u8 category, int priority) ++static int ssam_cdev_notifier_register(struct ssam_cdev_client *client, u8 tc, int priority) + { ++ const u16 rqid = ssh_tc_to_rqid(tc); ++ const u16 event = ssh_rqid_to_event(rqid); + struct ssam_cdev_notifier *nf; +- int index = ((int)category) - 1; + int status; + + lockdep_assert_held_read(&client->cdev->lock); + + /* Validate notifier target category. */ +- if (index < 0 || index >= SSH_NUM_EVENTS) ++ if (!ssh_rqid_is_event(rqid)) + return -EINVAL; + + mutex_lock(&client->notifier_lock); + + /* Check if the notifier has already been registered. */ +- if (client->notifier[index]) { ++ if (client->notifier[event]) { + mutex_unlock(&client->notifier_lock); + return -EEXIST; + } +@@ -167,7 +169,7 @@ static int ssam_cdev_notifier_register(struct ssam_cdev_client *client, u8 categ + nf->client = client; + nf->nf.base.fn = ssam_cdev_notifier; + nf->nf.base.priority = priority; +- nf->nf.event.id.target_category = category; ++ nf->nf.event.id.target_category = tc; + nf->nf.event.mask = 0; /* Do not do any matching. */ + nf->nf.flags = SSAM_EVENT_NOTIFIER_OBSERVER; + +@@ -176,35 +178,36 @@ static int ssam_cdev_notifier_register(struct ssam_cdev_client *client, u8 categ + if (status) + kfree(nf); + else +- client->notifier[index] = nf; ++ client->notifier[event] = nf; + + mutex_unlock(&client->notifier_lock); + return status; + } + +-static int ssam_cdev_notifier_unregister(struct ssam_cdev_client *client, u8 category) ++static int ssam_cdev_notifier_unregister(struct ssam_cdev_client *client, u8 tc) + { +- int index = ((int)category) - 1; ++ const u16 rqid = ssh_tc_to_rqid(tc); ++ const u16 event = ssh_rqid_to_event(rqid); + int status; + + lockdep_assert_held_read(&client->cdev->lock); + + /* Validate notifier target category. */ +- if (index < 0 || index >= SSH_NUM_EVENTS) ++ if (!ssh_rqid_is_event(rqid)) + return -EINVAL; + + mutex_lock(&client->notifier_lock); + + /* Check if the notifier is currently registered. */ +- if (!client->notifier[index]) { ++ if (!client->notifier[event]) { + mutex_unlock(&client->notifier_lock); + return -ENOENT; + } + + /* Unregister and free notifier. */ +- status = ssam_notifier_unregister(client->cdev->ctrl, &client->notifier[index]->nf); +- kfree(client->notifier[index]); +- client->notifier[index] = NULL; ++ status = ssam_notifier_unregister(client->cdev->ctrl, &client->notifier[event]->nf); ++ kfree(client->notifier[event]); ++ client->notifier[event] = NULL; + + mutex_unlock(&client->notifier_lock); + return status; +@@ -482,6 +485,9 @@ static int ssam_cdev_device_open(struct inode *inode, struct file *filp) + + if (test_bit(SSAM_CDEV_DEVICE_SHUTDOWN_BIT, &cdev->flags)) { + up_write(&cdev->client_lock); ++ mutex_destroy(&client->write_lock); ++ mutex_destroy(&client->read_lock); ++ mutex_destroy(&client->notifier_lock); + ssam_cdev_put(client->cdev); + vfree(client); + return -ENODEV; +-- +2.32.0 + +From 46978343e05c504486c67d342f35573df6fd591c Mon Sep 17 00:00:00 2001 +From: Maximilian Luz +Date: Fri, 4 Jun 2021 22:56:38 +0200 +Subject: [PATCH] platform/surface: aggregator: Do not return uninitialized + value + +The status variable in ssam_nf_refcount_disable_free() is only set when +the reference count equals zero. Otherwise, it is returned +uninitialized. Fix this by always initializing status to zero. + +Reported-by: kernel test robot +Fixes: 640ee17199e4 ("platform/surface: aggregator: Allow enabling of events without notifiers") +Signed-off-by: Maximilian Luz +Patchset: surface-sam +--- + drivers/platform/surface/aggregator/controller.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/platform/surface/aggregator/controller.c b/drivers/platform/surface/aggregator/controller.c +index 6646f4d6e10d..634399387d76 100644 +--- a/drivers/platform/surface/aggregator/controller.c ++++ b/drivers/platform/surface/aggregator/controller.c +@@ -2228,7 +2228,7 @@ static int ssam_nf_refcount_disable_free(struct ssam_controller *ctrl, + const struct ssam_event_registry reg = entry->key.reg; + const struct ssam_event_id id = entry->key.id; + struct ssam_nf *nf = &ctrl->cplt.event.notif; +- int status; ++ int status = 0; + + lockdep_assert_held(&nf->lock); + +-- +2.32.0 + +From e44c8c583d3c9c9b5355ca7c44c221bf85bcecff Mon Sep 17 00:00:00 2001 +From: Maximilian Luz +Date: Fri, 4 Jun 2021 23:00:47 +0200 +Subject: [PATCH] platform/surface: aggregator: Drop unnecessary variable + initialization + +The status variable in ssam_controller_event_disable() is always set, no +need to initialize it. + +Signed-off-by: Maximilian Luz +Patchset: surface-sam +--- + drivers/platform/surface/aggregator/controller.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/platform/surface/aggregator/controller.c b/drivers/platform/surface/aggregator/controller.c +index 634399387d76..b8c377b3f932 100644 +--- a/drivers/platform/surface/aggregator/controller.c ++++ b/drivers/platform/surface/aggregator/controller.c +@@ -2464,7 +2464,7 @@ int ssam_controller_event_disable(struct ssam_controller *ctrl, + u16 rqid = ssh_tc_to_rqid(id.target_category); + struct ssam_nf *nf = &ctrl->cplt.event.notif; + struct ssam_nf_refcount_entry *entry; +- int status = 0; ++ int status; + + if (!ssh_rqid_is_event(rqid)) + return -EINVAL; +-- +2.32.0 + +From 8f01e661f7641cc6c05c9d9b3871eccace71f4e8 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 2 Jun 2021 20:07:47 +0200 Subject: [PATCH] docs: driver-api: Update Surface Aggregator user-space @@ -9536,9 +10097,9 @@ index 248c1372d879..0134a841a079 100644 .. kernel-doc:: include/uapi/linux/surface_aggregator/cdev.h -- -2.31.1 +2.32.0 -From 2b11b38538cd9ed530777a337e83d8b4536c7d7c Mon Sep 17 00:00:00 2001 +From d66ed484a5779839b96d682bd78cde64ded68871 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 5 May 2021 18:22:04 +0200 Subject: [PATCH] pinctrl/amd: Add device HID for new AMD GPIO controller @@ -9568,9 +10129,9 @@ index 2d4acf21117c..c5950a3b4e4c 100644 }; MODULE_DEVICE_TABLE(acpi, amd_gpio_acpi_match); -- -2.31.1 +2.32.0 -From 86c51bcdc8a49989a21eb0f3e91ce72c6d68d2af Mon Sep 17 00:00:00 2001 +From 4d854c0a30b9d8172bf15d885253ec387a152022 Mon Sep 17 00:00:00 2001 From: Sachi King Date: Sat, 29 May 2021 17:47:38 +1000 Subject: [PATCH] ACPI: Add quirk for Surface Laptop 4 AMD missing irq 7 @@ -9635,9 +10196,9 @@ index 14cd3186dc77..ab3ba60cb6da 100644 mp_config_acpi_legacy_irqs(); -- -2.31.1 +2.32.0 -From c16918497e56baadde9e9d5a7168cd628deaf9a7 Mon Sep 17 00:00:00 2001 +From aa5da92fb04d3aca18dc7d3825091e9425e5d26a Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Thu, 3 Jun 2021 14:04:26 +0200 Subject: [PATCH] ACPI: Add AMD 13" Surface Laptop 4 model to irq 7 override @@ -9677,9 +10238,9 @@ index ab3ba60cb6da..fa1dcdd119e5 100644 }; -- -2.31.1 +2.32.0 -From b401c48588cadfe4e2ffb5ba6c253a015048e2b2 Mon Sep 17 00:00:00 2001 +From f14656bc0fd393f4e3fc1082005336600fc8f07a Mon Sep 17 00:00:00 2001 From: Sachi King Date: Sat, 29 May 2021 22:27:25 +1000 Subject: [PATCH] platform/x86: amd-pmc: Add device HID for AMD PMC @@ -9710,5 +10271,5 @@ index b9da58ee9b1e..0b5578a8a449 100644 }; MODULE_DEVICE_TABLE(acpi, amd_pmc_acpi_ids); -- -2.31.1 +2.32.0 diff --git a/patches/5.12/0007-surface-typecover.patch b/patches/5.12/0007-surface-typecover.patch index 4d8167161..d6c7bc44b 100644 --- a/patches/5.12/0007-surface-typecover.patch +++ b/patches/5.12/0007-surface-typecover.patch @@ -1,4 +1,4 @@ -From 375584e2e66f0720e2718ef898089361164b0f39 Mon Sep 17 00:00:00 2001 +From 370b6f17fa38410c60b3e01060196610039d5945 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Thu, 5 Nov 2020 13:09:45 +0100 Subject: [PATCH] hid/multitouch: Turn off Type Cover keyboard backlight when @@ -34,7 +34,7 @@ Patchset: surface-typecover 1 file changed, 98 insertions(+), 2 deletions(-) diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c -index 9d9f3e1bd5f4..800476dbc327 100644 +index 55dcb8536286..35d9c08cd18e 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -34,7 +34,10 @@ @@ -106,7 +106,7 @@ index 9d9f3e1bd5f4..800476dbc327 100644 { } }; -@@ -1674,6 +1694,69 @@ static void mt_expired_timeout(struct timer_list *t) +@@ -1678,6 +1698,69 @@ static void mt_expired_timeout(struct timer_list *t) clear_bit(MT_IO_FLAGS_RUNNING, &td->mt_io_flags); } @@ -176,7 +176,7 @@ index 9d9f3e1bd5f4..800476dbc327 100644 static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) { int ret, i; -@@ -1697,6 +1780,9 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) +@@ -1701,6 +1784,9 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) td->inputmode_value = MT_INPUTMODE_TOUCHSCREEN; hid_set_drvdata(hdev, td); @@ -186,7 +186,7 @@ index 9d9f3e1bd5f4..800476dbc327 100644 INIT_LIST_HEAD(&td->applications); INIT_LIST_HEAD(&td->reports); -@@ -1726,15 +1812,19 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) +@@ -1730,15 +1816,19 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) timer_setup(&td->release_timer, mt_expired_timeout, 0); ret = hid_parse(hdev); @@ -208,7 +208,7 @@ index 9d9f3e1bd5f4..800476dbc327 100644 ret = sysfs_create_group(&hdev->dev.kobj, &mt_attribute_group); if (ret) -@@ -1779,6 +1869,7 @@ static void mt_remove(struct hid_device *hdev) +@@ -1783,6 +1873,7 @@ static void mt_remove(struct hid_device *hdev) { struct mt_device *td = hid_get_drvdata(hdev); @@ -216,7 +216,7 @@ index 9d9f3e1bd5f4..800476dbc327 100644 del_timer_sync(&td->release_timer); sysfs_remove_group(&hdev->dev.kobj, &mt_attribute_group); -@@ -2130,6 +2221,11 @@ static const struct hid_device_id mt_devices[] = { +@@ -2134,6 +2225,11 @@ static const struct hid_device_id mt_devices[] = { MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, USB_DEVICE_ID_XIROKU_CSR2) }, @@ -229,5 +229,5 @@ index 9d9f3e1bd5f4..800476dbc327 100644 { .driver_data = MT_CLS_GOOGLE, HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, USB_VENDOR_ID_GOOGLE, -- -2.31.1 +2.32.0 diff --git a/patches/5.12/0008-surface-go-touchscreen.patch b/patches/5.12/0008-surface-go-touchscreen.patch index a7dcf2c16..049f6240f 100644 --- a/patches/5.12/0008-surface-go-touchscreen.patch +++ b/patches/5.12/0008-surface-go-touchscreen.patch @@ -1,4 +1,4 @@ -From 0becc1c767ddb7c1a80da5ca933d525daab1060c Mon Sep 17 00:00:00 2001 +From 47e6f843845c9c88762384c6481770fd8d6128f2 Mon Sep 17 00:00:00 2001 From: Zoltan Tamas Vajda Date: Thu, 3 Jun 2021 10:50:55 +0200 Subject: [PATCH] Added quirk for Surface Go touchscreen @@ -35,5 +35,5 @@ index 236bccd37760..cc16f29e27a4 100644 }; -- -2.31.1 +2.32.0 diff --git a/patches/5.12/0009-cameras.patch b/patches/5.12/0009-cameras.patch index 3a212c653..ff169d61b 100644 --- a/patches/5.12/0009-cameras.patch +++ b/patches/5.12/0009-cameras.patch @@ -1,4 +1,4 @@ -From c252a316ebbf36de29e25085b056e82298b905a1 Mon Sep 17 00:00:00 2001 +From b9e19b0b6e124089493b681d1483136db2022bb9 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Thu, 20 May 2021 15:09:21 +0100 Subject: [PATCH] ACPI: scan: Extend acpi_walk_dep_device_list() @@ -378,9 +378,9 @@ index 3bdcfc4401b7..c2da6b8939c0 100644 struct platform_device *acpi_create_platform_device(struct acpi_device *, struct property_entry *); -- -2.31.1 +2.32.0 -From b3041023a204f65ccbff6f7b47330ec891237bc5 Mon Sep 17 00:00:00 2001 +From e06f8f0f2a1bd608389e64d3b8a522b489f81074 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Thu, 20 May 2021 15:09:22 +0100 Subject: [PATCH] ACPI: scan: Add function to fetch dependent of acpi device @@ -468,9 +468,9 @@ index 849f3540ed53..b531750eb422 100644 acpi_dev_get_next_match_dev(struct acpi_device *adev, const char *hid, const char *uid, s64 hrv); struct acpi_device * -- -2.31.1 +2.32.0 -From 548e414f08adeb21da499d223d32a2e0ccb409c7 Mon Sep 17 00:00:00 2001 +From eea44ffc2a013c8cdb74369e285267097f33cd7e Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Thu, 20 May 2021 15:09:23 +0100 Subject: [PATCH] i2c: core: Add a format macro for I2C device names @@ -529,9 +529,9 @@ index a670ae129f4b..a2f6ee71b5be 100644 #define I2C_MAX_STANDARD_MODE_FREQ 100000 #define I2C_MAX_FAST_MODE_FREQ 400000 -- -2.31.1 +2.32.0 -From b1a1be0754543aef45fa267de9aa22c21e3a9dc4 Mon Sep 17 00:00:00 2001 +From 05033ca6a674cf9b3458c60554f291e230ad1e4d Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Thu, 20 May 2021 15:09:24 +0100 Subject: [PATCH] gpiolib: acpi: Export acpi_get_gpiod() @@ -606,9 +606,9 @@ index c73b25bc9213..566feb56601f 100644 struct acpi_device; -- -2.31.1 +2.32.0 -From 42eb8a93ef56c7520c793c244e40544cc0e462c3 Mon Sep 17 00:00:00 2001 +From c8a871b6624792a90f4cff8cc5ce780b336d792f Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Thu, 20 May 2021 15:09:25 +0100 Subject: [PATCH] clkdev: Make clkdev_drop() null aware @@ -638,9 +638,9 @@ index 0f2e3fcf0f19..c082720f8ade 100644 list_del(&cl->node); mutex_unlock(&clocks_mutex); -- -2.31.1 +2.32.0 -From b1edaa9264cbe0d5c8b737ae278e6f4b143d5f09 Mon Sep 17 00:00:00 2001 +From 1827f31fb7296824ad962949f72f6e9b6643d41f Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Thu, 20 May 2021 15:09:26 +0100 Subject: [PATCH] gpiolib: acpi: Add acpi_gpio_get_io_resource() @@ -715,9 +715,9 @@ index c2da6b8939c0..07a0044397e1 100644 const char *name, int index) { -- -2.31.1 +2.32.0 -From 5dfbd5ffa9e9082ba4d06506784eae7967d8c8db Mon Sep 17 00:00:00 2001 +From fe854563d2a5b930b64758699cdceb84b5871a58 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Thu, 20 May 2021 15:09:27 +0100 Subject: [PATCH] platform/x86: Add intel_skl_int3472 driver @@ -1816,9 +1816,9 @@ index 000000000000..843eaa27e9da + return 0; +} -- -2.31.1 +2.32.0 -From ff746a92185d4ab05392230f96a0dac236cbb5b9 Mon Sep 17 00:00:00 2001 +From f857d90d27f18521dd936d3bee7d6d3785b6045b Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Thu, 20 May 2021 15:09:28 +0100 Subject: [PATCH] mfd: tps68470: Remove tps68470 MFD driver @@ -2012,9 +2012,9 @@ index 4a4df4ffd18c..000000000000 -}; -builtin_i2c_driver(tps68470_driver); -- -2.31.1 +2.32.0 -From 670edce87dffaea09f7383497b782c936caed7b5 Mon Sep 17 00:00:00 2001 +From 32d081d6da931f1ad2d67aadc08f33953f8ebb95 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Mon, 5 Apr 2021 23:56:53 +0100 Subject: [PATCH] media: ipu3-cio2: Toggle sensor streaming in pm runtime ops @@ -2072,9 +2072,9 @@ index fecef85bd62e..9dafb9470708 100644 return r; } -- -2.31.1 +2.32.0 -From 654205470488fdc3701d70d10c31fbc97f69f7a4 Mon Sep 17 00:00:00 2001 +From fe3d26934cc8ac8d8dba7c5934c55ccfb3f1ebb8 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Mon, 5 Apr 2021 23:56:54 +0100 Subject: [PATCH] media: i2c: Add support for ov5693 sensor @@ -3715,9 +3715,9 @@ index 000000000000..da2ca99a7ad3 +MODULE_DESCRIPTION("A low-level driver for OmniVision 5693 sensors"); +MODULE_LICENSE("GPL"); -- -2.31.1 +2.32.0 -From 3e5f7aa0ff27b6875df6c70e0d82cf7c2e052784 Mon Sep 17 00:00:00 2001 +From f0972bd88b2f391f20a4b91ddd1c0e9c745e45b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCthrich?= Date: Fri, 22 Jan 2021 20:58:13 +0100 Subject: [PATCH] cio2-bridge: Parse sensor orientation and rotation @@ -3878,9 +3878,9 @@ index dd0ffcafa489..924d99d20328 100644 struct property_entry ep_properties[5]; struct property_entry dev_properties[3]; -- -2.31.1 +2.32.0 -From 32174318d4fdf290c75609f13a0e3e96b08d61b0 Mon Sep 17 00:00:00 2001 +From 8a4acd725e11a5132494342ae07c00a91fa1025d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCthrich?= Date: Sun, 24 Jan 2021 11:07:42 +0100 Subject: [PATCH] cio2-bridge: Use macros and add warnings @@ -3982,9 +3982,9 @@ index 924d99d20328..e1e388cc9f45 100644 (const struct cio2_sensor_config) { \ .hid = _HID, \ -- -2.31.1 +2.32.0 -From 7551ce0160db4cbae6e554113138008b2be917fa Mon Sep 17 00:00:00 2001 +From 88edf97e89eca8f406929ff258a96bd6a36c558c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20W=C3=BCthrich?= Date: Thu, 6 May 2021 07:52:44 +0200 Subject: [PATCH] cio2-bridge: Use correct dev_properties size @@ -4008,9 +4008,9 @@ index e1e388cc9f45..deaf5804f70d 100644 struct software_node_ref_args local_ref[1]; struct software_node_ref_args remote_ref[1]; -- -2.31.1 +2.32.0 -From 3af4b18551435c9f395b13e693c23447076dda0c Mon Sep 17 00:00:00 2001 +From c15c869334981b6394a7087f3a612d87d4966c69 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Thu, 20 May 2021 23:31:04 +0100 Subject: [PATCH] media: i2c: Fix vertical flip in ov5693 @@ -4043,5 +4043,5 @@ index da2ca99a7ad3..52279eeffc54 100644 #define OV5693_FORMAT1_VBIN_EN BIT(0) #define OV5693_FORMAT2_REG 0x3821 -- -2.31.1 +2.32.0 diff --git a/pkg/arch/kernel/PKGBUILD b/pkg/arch/kernel/PKGBUILD index 0ade55739..5f7cb7403 100644 --- a/pkg/arch/kernel/PKGBUILD +++ b/pkg/arch/kernel/PKGBUILD @@ -46,15 +46,15 @@ sha256sums=('1091d26cdb2395eabed0362c163098448de5d59fd2cfb32145f7f4594f64214f' '55c4cb76754b1db234a0994806106d8481c171d4e3fead12793f0083a48511d4' '252c7a78ffb1efe9751aabc93cc79031ef69dbc95baa7970cbaabcd5474fe7d8' '9474de18769968c5558fedda5be354fe0babf1365541d4d0ac8e1ac47d4bbb88' - '5cd3a0b006c46b0a028dbcbea403462350c9048ebb0499501ffcbd9569be26d2' - '5f03e81efe264e6fa4db3452ec37c6ba286194500db2b06bbef8edc70e3aec51' - 'c031b9f4892cb399554b1f344d8522f11c42c94a7665018648f0638233682748' - '080bfd5a78f069896ba10062001fdf68f8944c4840af6a6d9aa509d4537c285e' - '5b2263bee2d0c42362228c05f295fc73787335660e9f771bcd7a33e9956d42a8' - '8153c43d5a2b36c66a28381d17bc158dae6e0ef0bbde8bb61a1bd92204d66676' - 'e55a1cd4a2b50207098f6f7bf9eebe3621395fda2a1c5a1df97ba2cad5032110' - '1e39dfaba3279028c955165936a20bf0ba9f1157d15a77694731098ee00944bb' - '64ad4ae75e6f30ac9f81766de18185cf6dea31efc300fea7396c8123a17045e8') + 'd75d2aa62323431a4ba86baefdd0003a0bc89f1e3af0c2df7f6225f88a2c2be6' + 'b10c9650019537a7ca394daf61cba7148e321a55f262209ce104684cbfd5b28a' + '39c691a29949c6f45c2d12ad414e2692b2ffd05b3d79e037b0a1ef86714dbc73' + 'ceee40dd548a82f7a01a7d755da3644bc77dc7380a231db84ad019edbcddc436' + '2e4e0cee0bb696b4cc5f76e43d1e3df822fc0e77c7413966a8a0b689c3ca637e' + '519f7c20eb4914ac57bf902c5530bdbab73cf63da86b2274716d2b33032541fe' + '338acbcfec9f880ffc9241d8807633e07e48ec793c21be1453d8b927398cc0e9' + 'f26051b1f0c3b1cd47add84b84b2d2f53d3b98ac72e3b8708ad1d20c2795a25d' + 'ef3a647fdea598c10e10a83f5ff8b54bddf984f0cc442a980d62a3a6fcf3ba30') export KBUILD_BUILD_HOST=archlinux