瀏覽代碼

Update v5.10 patches

Changes:
 - Code cleanup and small fixes

 - SAM:
   - Fix timing issue when re-attaching the base on the Surface Book 3,
     causing devices (e.g. battery) to not work properly after
     re-attaching.

Links:
 - kernel: https://github.com/linux-surface/kernel/commit/46346aff0f878d5d4abaa3b96d585397aa2d4771
 - SAM: https://github.com/linux-surface/surface-aggregator-module/commit/ff044c7463452eb5c107f51af6f4c7007726bb16
Maximilian Luz 4 年之前
父節點
當前提交
d9d82b62ed

+ 2 - 2
patches/5.10/0001-surface3-oemb.patch

@@ -1,4 +1,4 @@
-From 333d3e77305b66bdcd519d8f5e70d0fa1b36cbd6 Mon Sep 17 00:00:00 2001
+From 80fd983535410400683e33566075ab8d36ce3913 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 2752dc955733..ef36a316e2ed 100644
  };
  
 -- 
-2.31.0
+2.31.1
 

+ 36 - 36
patches/5.10/0002-wifi.patch

@@ -1,4 +1,4 @@
-From 28de2a0b3d0599209bc9defb1916d0a089252d02 Mon Sep 17 00:00:00 2001
+From 2dcf27f53d5e5630b6015fb5ed4c10e00c989d90 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
@@ -204,9 +204,9 @@ index 000000000000..5326ae7e5671
 +
 +void mwifiex_initialize_quirks(struct pcie_service_card *card);
 -- 
-2.31.0
+2.31.1
 
-From ba1c7d048255115bb24ce1c70150d1daf201461f Mon Sep 17 00:00:00 2001
+From 2a8f4535eeeb376d2438e379db29bfcc0d19641b 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+
@@ -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.0
+2.31.1
 
-From 78f06bb476f58a52dd5f3f33aa21880be88d68b3 Mon Sep 17 00:00:00 2001
+From 219c1217cc0ee89dc83a0d1d3aedff1218346e00 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
@@ -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.0
+2.31.1
 
-From 085011fadc4e78876cd66e552fc26a25d427fb82 Mon Sep 17 00:00:00 2001
+From 63bfed6c4cbdf9ef25a2e063908bcfb9e7ef07ea 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
@@ -646,9 +646,9 @@ index f0a6fa0a7ae5..34dcd84f02a6 100644
  		.ident = "Surface Pro 3",
  		.matches = {
 -- 
-2.31.0
+2.31.1
 
-From cbdab24b6f2db8a5688afb80967d5a6f41a2df1d Mon Sep 17 00:00:00 2001
+From e3d78e5f6a2873a99ccbfcf0afeae2a590d31341 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+
@@ -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.0
+2.31.1
 
-From f805a115972cc3a700a09be55c12ae1157a07fb8 Mon Sep 17 00:00:00 2001
+From f7a27f4f3fd308822c4e4cc3c01d54e006f4fafe 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
@@ -858,9 +858,9 @@ index fcedc663ccc7..5eea6cb73fb7 100644
  }
  
 -- 
-2.31.0
+2.31.1
 
-From 4800649d61cde4e06a6681d014b90ace2270a65c Mon Sep 17 00:00:00 2001
+From b6607c079763d877a41f84b95f8a8178c7279c47 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
@@ -1025,9 +1025,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 238cdbc3a753dc6812d28e8d553b99fc4763dfe0 Mon Sep 17 00:00:00 2001
+From 4464ed73e06a29753d12287e5e076be3f81bad1e 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
@@ -1114,9 +1114,9 @@ index 7dc54c446559..505a90743f2f 100644
  	if (reg->sleep_cookie) {
  		mwifiex_pcie_dev_wakeup_delay(adapter);
 -- 
-2.31.0
+2.31.1
 
-From 5c8ce69144a88cacfb8c2cb558fa3f8155601f3d Mon Sep 17 00:00:00 2001
+From 1a864266c1b1c4c6d65e7b68526acf1db2212a7b 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
@@ -1192,9 +1192,9 @@ index 2953b96b3ced..3459ee86530c 100644
  	    (id->driver_info & BTUSB_MEDIATEK)) {
  		hdev->setup = btusb_mtk_setup;
 -- 
-2.31.0
+2.31.1
 
-From faa8ad1819b0de0c7aec9dbaeb087f6e3f4e2fbf Mon Sep 17 00:00:00 2001
+From 71b59b21dc473b475ad8d1e8030ec172507d79d1 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
@@ -1293,9 +1293,9 @@ index a6b9dc6700b1..d50fd8570475 100644
  			mwifiex_dbg(priv->adapter, ERROR,
  				    "%s: changing to %d not supported\n",
 -- 
-2.31.0
+2.31.1
 
-From 882f2a34be5af2acc00b09dfce185896e6ac8dc8 Mon Sep 17 00:00:00 2001
+From b0dcb85841d8fe795f8c4ceaf0ddecf549a280fb 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
@@ -1526,9 +1526,9 @@ index d50fd8570475..3a79a55bbfd2 100644
  
  static void
 -- 
-2.31.0
+2.31.1
 
-From 16e5d900602b5f7f880ab242c2edafed14631206 Mon Sep 17 00:00:00 2001
+From 9de6bfc8f8b0363d1ad702ba267f92fed48bc889 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
@@ -1594,9 +1594,9 @@ index 3a79a55bbfd2..66e978088061 100644
  							params);
  		default:
 -- 
-2.31.0
+2.31.1
 
-From 5ad3936d5331288e7c0e50d9b6d591c34cc5186b Mon Sep 17 00:00:00 2001
+From fcdac7a8ad33f0b3b88eaafef467ae0c4fa5ed19 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
@@ -1770,9 +1770,9 @@ index 66e978088061..db30f595e9f9 100644
  	priv->bss_mode = NL80211_IFTYPE_UNSPECIFIED;
  
 -- 
-2.31.0
+2.31.1
 
-From 4729044609a3209483abc7e897c460b075a78db3 Mon Sep 17 00:00:00 2001
+From ed55045d0f9ecd947bf1da4c191e9ad9ee01aae6 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
@@ -1873,9 +1873,9 @@ index db30f595e9f9..60de1cec77c7 100644
  }
  /*
 -- 
-2.31.0
+2.31.1
 
-From aa08f9c7c64ec242910c51de7069a2af6b18bc4e Mon Sep 17 00:00:00 2001
+From 097c082b6978d4adc837dfe397d660b4320b7766 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
@@ -1962,9 +1962,9 @@ index 60de1cec77c7..a37b504bd084 100644
  			return mwifiex_change_vif_to_ap(dev, curr_iftype, type,
  							params);
 -- 
-2.31.0
+2.31.1
 
-From 5b3a46e78fc373076e4727fde5aa6cdc1dcf8cc5 Mon Sep 17 00:00:00 2001
+From 319c2c01809fa5f3d9fa3cf6f952f4ebe16a6f39 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
@@ -1989,9 +1989,9 @@ index a37b504bd084..e65f285e3efe 100644
  							       type, params);
  			break;
 -- 
-2.31.0
+2.31.1
 
-From 14cde4e6a7bcbd21b1180f4c2ae81a3483eb2506 Mon Sep 17 00:00:00 2001
+From 6bbe21f47863121f08083e9cc8460d431c109d59 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
@@ -2044,9 +2044,9 @@ index e65f285e3efe..a290312313f3 100644
  	default:
  		mwifiex_dbg(adapter, ERROR,
 -- 
-2.31.0
+2.31.1
 
-From e34db05440a4b4f24627e6beee4d59e2d3211c56 Mon Sep 17 00:00:00 2001
+From 5075f5da378189c72f2cc6541888ef9f1d264726 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
@@ -2076,5 +2076,5 @@ index a290312313f3..1e1cf523e228 100644
  		priv->bss_started = 0;
  
 -- 
-2.31.0
+2.31.1
 

+ 6 - 6
patches/5.10/0003-ipts.patch

@@ -1,4 +1,4 @@
-From aa02462a79f4fd4c9eadf761cd0e4e14684e3e10 Mon Sep 17 00:00:00 2001
+From 007ca390c85f24cb0f107be999d028c65ab1c6d4 Mon Sep 17 00:00:00 2001
 From: Dorian Stoll <dorian.stoll@tmsp.io>
 Date: Thu, 30 Jul 2020 13:21:53 +0200
 Subject: [PATCH] misc: mei: Add missing IPTS device IDs
@@ -34,9 +34,9 @@ index a7e179626b63..fdcc0eedc49f 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.0
+2.31.1
 
-From 29e1b97965fcaee3a92691a35dbab73a2d7fda00 Mon Sep 17 00:00:00 2001
+From 44263da4754d7e924098f76c5739d4ec38993357 Mon Sep 17 00:00:00 2001
 From: Dorian Stoll <dorian.stoll@tmsp.io>
 Date: Thu, 25 Feb 2021 09:37:47 +0100
 Subject: [PATCH] misc: mei: Remove client devices before shutting down bus
@@ -63,9 +63,9 @@ index bcee77768b91..21ed765003e1 100644
  	mei_cancel_work(dev);
  
 -- 
-2.31.0
+2.31.1
 
-From ddba8b4be1e5a0109fd370853ac4cdf60d702d03 Mon Sep 17 00:00:00 2001
+From f4dcb87a5c58f1038283dc52317212342576c3ea Mon Sep 17 00:00:00 2001
 From: Dorian Stoll <dorian.stoll@tmsp.io>
 Date: Thu, 6 Aug 2020 11:20:41 +0200
 Subject: [PATCH] misc: Add support for Intel Precise Touch & Stylus
@@ -1530,5 +1530,5 @@ index 000000000000..53fb86a88f97
 +
 +#endif /* _IPTS_UAPI_H_ */
 -- 
-2.31.0
+2.31.1
 

+ 2 - 2
patches/5.10/0004-surface-gpe.patch

@@ -1,4 +1,4 @@
-From 6203e6b05b6400765c3b60bc9abc6f51d0174d2b Mon Sep 17 00:00:00 2001
+From 927f658e9acb8c5563669b5299ccfd4747a9566f 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
@@ -397,5 +397,5 @@ index 000000000000..86f6991b1215
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS("dmi:*:svnMicrosoftCorporation:pnSurface*:*");
 -- 
-2.31.0
+2.31.1
 

+ 4 - 4
patches/5.10/0005-surface-sam-over-hid.patch

@@ -1,4 +1,4 @@
-From 6afdbc10e27f77058863a613847ed95330d2f7a9 Mon Sep 17 00:00:00 2001
+From 0bad2539b92e57cf0867738e2577a38ac97de65c 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
@@ -108,9 +108,9 @@ index 37c510d9347a..aed579942436 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 37c1b8aae895de51aa6b43c74b75bf8e3d09bf57 Mon Sep 17 00:00:00 2001
+From 5da32b98d89eab5f3de5e6f78317272021d42b0a 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
@@ -331,5 +331,5 @@ index 000000000000..8c66ed5110fd
 +MODULE_DESCRIPTION("Discrete GPU Power-Switch for Surface Book 1");
 +MODULE_LICENSE("GPL");
 -- 
-2.31.0
+2.31.1
 

+ 121 - 189
patches/5.10/0006-surface-sam.patch

@@ -1,4 +1,4 @@
-From 1e45c96cb187b063c54121bf6264c7bd8556a37f Mon Sep 17 00:00:00 2001
+From 4c60722fedd59e430236407209bbdd3c5dd948f9 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 Module devices
@@ -97,9 +97,9 @@ index 2417dd1dee33..a6c583362b92 100644
  
  /* Create MODULE_ALIAS() statements.
 -- 
-2.31.0
+2.31.1
 
-From fd3ac86b1fad9c4ebea6cf58c9192c69471354fb Mon Sep 17 00:00:00 2001
+From a2d6af77ab91892bf15164b36edf3e39907d5a14 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
@@ -156,13 +156,13 @@ Patchset: surface-sam
  .../surface_aggregator/ssh_request_layer.h    |  143 +
  .../platform/x86/surface_aggregator/trace.h   |  632 ++++
  .../platform/x86/surface_aggregator_cdev.c    |  322 ++
- .../x86/surface_aggregator_registry.c         |  644 ++++
+ .../x86/surface_aggregator_registry.c         |  626 ++++
  drivers/platform/x86/surface_dtx.c            | 1289 ++++++++
  drivers/platform/x86/surface_perfmode.c       |  122 +
  drivers/power/supply/Kconfig                  |   32 +
  drivers/power/supply/Makefile                 |    2 +
- drivers/power/supply/surface_battery.c        |  901 ++++++
- drivers/power/supply/surface_charger.c        |  296 ++
+ drivers/power/supply/surface_battery.c        |  865 ++++++
+ 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 ++++++
@@ -172,7 +172,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, 19256 insertions(+), 8 deletions(-)
+ 55 files changed, 19188 insertions(+), 8 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
@@ -14259,10 +14259,10 @@ index 000000000000..79e28fab7e40
 +MODULE_LICENSE("GPL");
 diff --git a/drivers/platform/x86/surface_aggregator_registry.c b/drivers/platform/x86/surface_aggregator_registry.c
 new file mode 100644
-index 000000000000..eccb9d1007cd
+index 000000000000..685d37a7add1
 --- /dev/null
 +++ b/drivers/platform/x86/surface_aggregator_registry.c
-@@ -0,0 +1,644 @@
+@@ -0,0 +1,626 @@
 +// SPDX-License-Identifier: GPL-2.0+
 +/*
 + * Surface System Aggregator Module (SSAM) client device registry.
@@ -14278,10 +14278,10 @@ index 000000000000..eccb9d1007cd
 +#include <linux/kernel.h>
 +#include <linux/limits.h>
 +#include <linux/module.h>
-+#include <linux/mutex.h>
 +#include <linux/platform_device.h>
 +#include <linux/property.h>
 +#include <linux/types.h>
++#include <linux/workqueue.h>
 +
 +#include <linux/surface_aggregator/controller.h>
 +#include <linux/surface_aggregator/device.h>
@@ -14552,6 +14552,13 @@ index 000000000000..eccb9d1007cd
 +
 +/* -- SSAM base-hub driver. ------------------------------------------------- */
 +
++/*
++ * Some devices (especially battery) may need a bit of time to be fully usable
++ * after being (re-)connected. This delay has been determined via
++ * experimentation.
++ */
++#define SSAM_BASE_UPDATE_CONNECT_DELAY		msecs_to_jiffies(2500)
++
 +enum ssam_base_hub_state {
 +	SSAM_BASE_HUB_UNINITIALIZED,
 +	SSAM_BASE_HUB_CONNECTED,
@@ -14561,8 +14568,8 @@ index 000000000000..eccb9d1007cd
 +struct ssam_base_hub {
 +	struct ssam_device *sdev;
 +
-+	struct mutex lock;  /* Guards state update checks and transitions. */
 +	enum ssam_base_hub_state state;
++	struct delayed_work update_work;
 +
 +	struct ssam_event_notifier notif;
 +};
@@ -14600,11 +14607,7 @@ index 000000000000..eccb9d1007cd
 +					char *buf)
 +{
 +	struct ssam_base_hub *hub = dev_get_drvdata(dev);
-+	bool connected;
-+
-+	mutex_lock(&hub->lock);
-+	connected = hub->state == SSAM_BASE_HUB_CONNECTED;
-+	mutex_unlock(&hub->lock);
++	bool connected = hub->state == SSAM_BASE_HUB_CONNECTED;
 +
 +	return sysfs_emit(buf, "%d\n", connected);
 +}
@@ -14621,16 +14624,20 @@ index 000000000000..eccb9d1007cd
 +	.attrs = ssam_base_hub_attrs,
 +};
 +
-+static int __ssam_base_hub_update(struct ssam_base_hub *hub, enum ssam_base_hub_state new)
++static void ssam_base_hub_update_workfn(struct work_struct *work)
 +{
++	struct ssam_base_hub *hub = container_of(work, struct ssam_base_hub, update_work.work);
 +	struct fwnode_handle *node = dev_fwnode(&hub->sdev->dev);
++	enum ssam_base_hub_state state;
 +	int status = 0;
 +
-+	lockdep_assert_held(&hub->lock);
++	status = ssam_base_hub_query_state(hub, &state);
++	if (status)
++		return;
 +
-+	if (hub->state == new)
-+		return 0;
-+	hub->state = new;
++	if (hub->state == state)
++		return;
++	hub->state = state;
 +
 +	if (hub->state == SSAM_BASE_HUB_CONNECTED)
 +		status = ssam_hub_add_devices(&hub->sdev->dev, hub->sdev->ctrl, node);
@@ -14639,51 +14646,28 @@ index 000000000000..eccb9d1007cd
 +
 +	if (status)
 +		dev_err(&hub->sdev->dev, "failed to update base-hub devices: %d\n", status);
-+
-+	return status;
-+}
-+
-+static int ssam_base_hub_update(struct ssam_base_hub *hub)
-+{
-+	enum ssam_base_hub_state state;
-+	int status;
-+
-+	mutex_lock(&hub->lock);
-+
-+	status = ssam_base_hub_query_state(hub, &state);
-+	if (!status)
-+		status = __ssam_base_hub_update(hub, state);
-+
-+	mutex_unlock(&hub->lock);
-+	return status;
 +}
 +
 +static u32 ssam_base_hub_notif(struct ssam_event_notifier *nf, const struct ssam_event *event)
 +{
-+	struct ssam_base_hub *hub;
-+	struct ssam_device *sdev;
-+	enum ssam_base_hub_state new;
-+
-+	hub = container_of(nf, struct ssam_base_hub, notif);
-+	sdev = hub->sdev;
++	struct ssam_base_hub *hub = container_of(nf, struct ssam_base_hub, notif);
++	unsigned long delay;
 +
 +	if (event->command_id != SSAM_EVENT_BAS_CID_CONNECTION)
 +		return 0;
 +
 +	if (event->length < 1) {
-+		dev_err(&sdev->dev, "unexpected payload size: %u\n",
-+			event->length);
++		dev_err(&hub->sdev->dev, "unexpected payload size: %u\n", event->length);
 +		return 0;
 +	}
 +
-+	if (event->data[0])
-+		new = SSAM_BASE_HUB_CONNECTED;
-+	else
-+		new = SSAM_BASE_HUB_DISCONNECTED;
++	/*
++	 * Delay update when the base is being connected to give devices/EC
++	 * some time to set up.
++	 */
++	delay = event->data[0] ? SSAM_BASE_UPDATE_CONNECT_DELAY : 0;
 +
-+	mutex_lock(&hub->lock);
-+	__ssam_base_hub_update(hub, new);
-+	mutex_unlock(&hub->lock);
++	schedule_delayed_work(&hub->update_work, delay);
 +
 +	/*
 +	 * Do not return SSAM_NOTIF_HANDLED: The event should be picked up and
@@ -14695,7 +14679,10 @@ index 000000000000..eccb9d1007cd
 +
 +static int __maybe_unused ssam_base_hub_resume(struct device *dev)
 +{
-+	return ssam_base_hub_update(dev_get_drvdata(dev));
++	struct ssam_base_hub *hub = dev_get_drvdata(dev);
++
++	schedule_delayed_work(&hub->update_work, 0);
++	return 0;
 +}
 +static SIMPLE_DEV_PM_OPS(ssam_base_hub_pm_ops, NULL, ssam_base_hub_resume);
 +
@@ -14708,8 +14695,6 @@ index 000000000000..eccb9d1007cd
 +	if (!hub)
 +		return -ENOMEM;
 +
-+	mutex_init(&hub->lock);
-+
 +	hub->sdev = sdev;
 +	hub->state = SSAM_BASE_HUB_UNINITIALIZED;
 +
@@ -14721,27 +14706,25 @@ index 000000000000..eccb9d1007cd
 +	hub->notif.event.mask = SSAM_EVENT_MASK_NONE;
 +	hub->notif.event.flags = SSAM_EVENT_SEQUENCED;
 +
++	INIT_DELAYED_WORK(&hub->update_work, ssam_base_hub_update_workfn);
++
 +	ssam_device_set_drvdata(sdev, hub);
 +
 +	status = ssam_notifier_register(sdev->ctrl, &hub->notif);
 +	if (status)
-+		goto err_register;
-+
-+	status = ssam_base_hub_update(hub);
-+	if (status)
-+		goto err_update;
++		return status;
 +
 +	status = sysfs_create_group(&sdev->dev.kobj, &ssam_base_hub_group);
 +	if (status)
-+		goto err_update;
++		goto err;
 +
++	schedule_delayed_work(&hub->update_work, 0);
 +	return 0;
 +
-+err_update:
++err:
 +	ssam_notifier_unregister(sdev->ctrl, &hub->notif);
++	cancel_delayed_work_sync(&hub->update_work);
 +	ssam_hub_remove_devices(&sdev->dev);
-+err_register:
-+	mutex_destroy(&hub->lock);
 +	return status;
 +}
 +
@@ -14752,9 +14735,8 @@ index 000000000000..eccb9d1007cd
 +	sysfs_remove_group(&sdev->dev.kobj, &ssam_base_hub_group);
 +
 +	ssam_notifier_unregister(sdev->ctrl, &hub->notif);
++	cancel_delayed_work_sync(&hub->update_work);
 +	ssam_hub_remove_devices(&sdev->dev);
-+
-+	mutex_destroy(&hub->lock);
 +}
 +
 +static const struct ssam_device_id ssam_base_hub_match[] = {
@@ -14909,7 +14891,7 @@ index 000000000000..eccb9d1007cd
 +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..85451eb94d98
+index 000000000000..1fedacf74050
 --- /dev/null
 +++ b/drivers/platform/x86/surface_dtx.c
 @@ -0,0 +1,1289 @@
@@ -15564,7 +15546,7 @@ index 000000000000..85451eb94d98
 +
 +	default:
 +		return 0;
-+	};
++	}
 +
 +	if (in->length != len) {
 +		dev_err(ddev->dev,
@@ -16383,10 +16365,10 @@ index dd4b86318cd9..9fdd34956153 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..b93a4f556b5c
+index 000000000000..4116dd839ecd
 --- /dev/null
 +++ b/drivers/power/supply/surface_battery.c
-@@ -0,0 +1,901 @@
+@@ -0,0 +1,865 @@
 +// SPDX-License-Identifier: GPL-2.0+
 +/*
 + * Battery driver for 7th-generation Microsoft Surface devices via Surface
@@ -16536,7 +16518,7 @@ index 000000000000..b93a4f556b5c
 +/* -- 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)
@@ -16729,21 +16711,6 @@ index 000000000000..b93a4f556b5c
 +	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);
@@ -16752,18 +16719,6 @@ index 000000000000..b93a4f556b5c
 +	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);
@@ -16804,17 +16759,34 @@ index 000000000000..b93a4f556b5c
 +	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);
 +}
 +
 +
 +/* -- Properties. ----------------------------------------------------------- */
 +
-+static enum power_supply_property spwr_battery_props_chg[] = {
++static const enum power_supply_property spwr_battery_props_chg[] = {
 +	POWER_SUPPLY_PROP_STATUS,
 +	POWER_SUPPLY_PROP_PRESENT,
 +	POWER_SUPPLY_PROP_TECHNOLOGY,
@@ -16832,7 +16804,7 @@ index 000000000000..b93a4f556b5c
 +	POWER_SUPPLY_PROP_SERIAL_NUMBER,
 +};
 +
-+static enum power_supply_property spwr_battery_props_eng[] = {
++static const enum power_supply_property spwr_battery_props_eng[] = {
 +	POWER_SUPPLY_PROP_STATUS,
 +	POWER_SUPPLY_PROP_PRESENT,
 +	POWER_SUPPLY_PROP_TECHNOLOGY,
@@ -16902,10 +16874,10 @@ index 000000000000..b93a4f556b5c
 +	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;
 +}
@@ -16966,7 +16938,7 @@ index 000000000000..b93a4f556b5c
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN:
@@ -16974,7 +16946,7 @@ index 000000000000..b93a4f556b5c
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_VOLTAGE_NOW:
@@ -16982,7 +16954,7 @@ index 000000000000..b93a4f556b5c
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_CURRENT_NOW:
@@ -16991,7 +16963,7 @@ index 000000000000..b93a4f556b5c
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
@@ -17000,7 +16972,7 @@ index 000000000000..b93a4f556b5c
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_CHARGE_FULL:
@@ -17009,7 +16981,7 @@ index 000000000000..b93a4f556b5c
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_CHARGE_NOW:
@@ -17018,7 +16990,7 @@ index 000000000000..b93a4f556b5c
 +		if (value != SPWR_BATTERY_VALUE_UNKNOWN)
 +			val->intval = value * 1000;
 +		else
-+			status = -ENODEV;
++			status = -ENODATA;
 +		break;
 +
 +	case POWER_SUPPLY_PROP_CAPACITY:
@@ -17054,7 +17026,7 @@ index 000000000000..b93a4f556b5c
 +
 +/* -- Alarm attribute. ------------------------------------------------------ */
 +
-+static ssize_t spwr_battery_alarm_show(struct device *dev, struct device_attribute *attr, char *buf)
++static ssize_t 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);
@@ -17067,8 +17039,8 @@ index 000000000000..b93a4f556b5c
 +	return status;
 +}
 +
-+static ssize_t spwr_battery_alarm_store(struct device *dev, struct device_attribute *attr,
-+					const char *buf, size_t count)
++static ssize_t 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);
@@ -17096,11 +17068,13 @@ index 000000000000..b93a4f556b5c
 +	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_ATTR_RW(alarm);
++
++static struct attribute *spwr_battery_attrs[] = {
++	&dev_attr_alarm.attr,
++	NULL,
 +};
++ATTRIBUTE_GROUPS(spwr_battery);
 +
 +
 +/* -- Device setup. --------------------------------------------------------- */
@@ -17118,7 +17092,7 @@ index 000000000000..b93a4f556b5c
 +	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;
@@ -17128,11 +17102,6 @@ index 000000000000..b93a4f556b5c
 +	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 = {};
@@ -17168,6 +17137,8 @@ index 000000000000..b93a4f556b5c
 +
 +	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;
@@ -17186,33 +17157,13 @@ index 000000000000..b93a4f556b5c
 +	}
 +
 +	psy_cfg.drv_data = bat;
-+	bat->psy = power_supply_register(&bat->sdev->dev, &bat->psy_desc, &psy_cfg);
++	psy_cfg.attr_grp = spwr_battery_groups;
++
++	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);
 +}
 +
 +
@@ -17228,7 +17179,6 @@ index 000000000000..b93a4f556b5c
 +{
 +	const struct spwr_psy_properties *p;
 +	struct spwr_battery_device *bat;
-+	int status;
 +
 +	p = ssam_device_get_match_data(sdev);
 +	if (!p)
@@ -17241,19 +17191,15 @@ index 000000000000..b93a4f556b5c
 +	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 = {
@@ -17290,10 +17236,10 @@ index 000000000000..b93a4f556b5c
 +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..fe484523a2c2
+index 000000000000..c2dd7e604d14
 --- /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
@@ -17428,7 +17374,7 @@ index 000000000000..fe484523a2c2
 +
 +/* -- Properties. ----------------------------------------------------------- */
 +
-+static enum power_supply_property spwr_ac_props[] = {
++static const enum power_supply_property spwr_ac_props[] = {
 +	POWER_SUPPLY_PROP_ONLINE,
 +};
 +
@@ -17462,6 +17408,11 @@ index 000000000000..fe484523a2c2
 +
 +/* -- 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)
 +{
@@ -17485,11 +17436,6 @@ index 000000000000..fe484523a2c2
 +	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 = {};
@@ -17505,22 +17451,14 @@ index 000000000000..fe484523a2c2
 +		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);
 +}
 +
 +
@@ -17536,7 +17474,6 @@ index 000000000000..fe484523a2c2
 +{
 +	const struct spwr_psy_properties *p;
 +	struct spwr_ac_device *ac;
-+	int status;
 +
 +	p = ssam_device_get_match_data(sdev);
 +	if (!p)
@@ -17549,19 +17486,14 @@ index 000000000000..fe484523a2c2
 +	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 = {
@@ -19879,5 +19811,5 @@ index a6c583362b92..5b79fdc42641 100644
  	ADD(alias, "f", match_flags & SSAM_MATCH_FUNCTION, function);
  
 -- 
-2.31.0
+2.31.1
 

+ 6 - 6
patches/5.10/0007-surface-hotplug.patch

@@ -1,4 +1,4 @@
-From b3c054a53fb7a9d4ce5a3d8e8122300a47eb2b71 Mon Sep 17 00:00:00 2001
+From eb9a4abd0ab04b8d6a75e5fa5fa5a653f5324736 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
@@ -69,9 +69,9 @@ index d15c881e2e7e..b15f754e6346 100644
  	&dev_attr_vendor.attr,
  	&dev_attr_device.attr,
 -- 
-2.31.0
+2.31.1
 
-From 48c5b30c34cb86933e33ce81ce20571fccc7c00e Mon Sep 17 00:00:00 2001
+From 26c5ebb838e2b4f07a4b191ed9dce750c7e7fa26 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()
@@ -137,9 +137,9 @@ index 9e971fffeb6a..d5d9ea864fe6 100644
  	bridge = pci_upstream_bridge(dev);
  	if (bridge)
 -- 
-2.31.0
+2.31.1
 
-From 465ebd8e50e7f01a604e47b89ac8089a3e4f88dd Mon Sep 17 00:00:00 2001
+From e475377f09bf4e927540a709ce5cddfb844bd283 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
@@ -490,5 +490,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/5.10/0008-surface-typecover.patch

@@ -1,4 +1,4 @@
-From 7a13289d770aad5673a4675c76ea7b8eac63be5f Mon Sep 17 00:00:00 2001
+From 7fe1ce0d2fba7e24cf1189f2eb7e7a2f7b5e5cdb 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 8429ebe7097e..44d48e8bbe1a 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/5.10/0009-surface-sensors.patch

@@ -1,4 +1,4 @@
-From 1cda5fca77f439459c1d117ebfdcb642017a5eb3 Mon Sep 17 00:00:00 2001
+From e269eb8b5859b1fa596ac1575bdf40b99f9f6405 Mon Sep 17 00:00:00 2001
 From: Max Leiter <maxwell.leiter@gmail.com>
 Date: Sat, 19 Dec 2020 17:50:55 -0800
 Subject: [PATCH] iio:light:apds9960 add detection for MSHW0184 ACPI device in
@@ -49,5 +49,5 @@ index 9afb3fcc74e6..20719141c03a 100644
  	.probe		= apds9960_probe,
  	.remove		= apds9960_remove,
 -- 
-2.31.0
+2.31.1
 

+ 123 - 123
patches/5.10/0010-cameras.patch

@@ -1,4 +1,4 @@
-From 4b953132c24fff81c2e6c05e3b96a4d4685e0712 Mon Sep 17 00:00:00 2001
+From 70380726ceabeccede37455c41584e1208eebffc Mon Sep 17 00:00:00 2001
 From: Sakari Ailus <sakari.ailus@linux.intel.com>
 Date: Mon, 12 Oct 2020 21:04:11 +0300
 Subject: [PATCH] ipu3-cio2: Use unsigned values where appropriate
@@ -314,9 +314,9 @@ index 146492383aa5..7650d7998a3f 100644
  
  struct cio2_csi2_timing {
 -- 
-2.31.0
+2.31.1
 
-From ef8c72288f2eeddcf22b8bae85dc137e7ef83db2 Mon Sep 17 00:00:00 2001
+From 22087b62550521be69ba5c8b389549fd431b8fb3 Mon Sep 17 00:00:00 2001
 From: Sakari Ailus <sakari.ailus@linux.intel.com>
 Date: Mon, 12 Oct 2020 21:04:12 +0300
 Subject: [PATCH] ipu3-cio2: Remove explicit type from frame size checks
@@ -348,9 +348,9 @@ index dcbfe8c9abc7..a1f574095acc 100644
  
  	mutex_lock(&q->subdev_lock);
 -- 
-2.31.0
+2.31.1
 
-From 9b178e583c954600ecca2ce0430e889948017d73 Mon Sep 17 00:00:00 2001
+From 1595504a22cc24e8bf94a82a9dcd14f24b12d971 Mon Sep 17 00:00:00 2001
 From: Sakari Ailus <sakari.ailus@linux.intel.com>
 Date: Mon, 12 Oct 2020 21:04:13 +0300
 Subject: [PATCH] ipu3-cio2: Rename CIO2_IMAGE_MAX_LENGTH as
@@ -407,9 +407,9 @@ index 7650d7998a3f..ccf0b85ae36f 100644
  /* 32MB = 8xFBPT_entry */
  #define CIO2_MAX_LOPS					8
 -- 
-2.31.0
+2.31.1
 
-From c72cc6e047fff421d18352a90f4c20ebfe895efb Mon Sep 17 00:00:00 2001
+From 7769d706134afa163c011ab0b2e888a3c08542d8 Mon Sep 17 00:00:00 2001
 From: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
 Date: Tue, 13 Oct 2020 17:25:35 +0300
 Subject: [PATCH] ipu3-cio2: Check receved the size against payload size, not
@@ -461,9 +461,9 @@ index 93fd25a5a3e9..b244b9de142a 100644
  		}
  		atomic_inc(&q->frame_sequence);
 -- 
-2.31.0
+2.31.1
 
-From 3af671dd435e9ee0c46743be2cd8761d3e7154c4 Mon Sep 17 00:00:00 2001
+From f3a74c51920c40f214b2be7d8269bc705d12c0a7 Mon Sep 17 00:00:00 2001
 From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 Date: Wed, 30 Dec 2020 22:44:05 +0200
 Subject: [PATCH] media: ipu3-cio2: Add headers that ipu3-cio2.h is direct user
@@ -513,9 +513,9 @@ index ccf0b85ae36f..62187ab5ae43 100644
  #define CIO2_DEVICE_NAME				"Intel IPU3 CIO2"
  #define CIO2_ENTITY_NAME				"ipu3-csi2"
 -- 
-2.31.0
+2.31.1
 
-From 41ca118486619d34fffa3040f4cd767cdf20e9e3 Mon Sep 17 00:00:00 2001
+From f067a35d6cc8a642f5350a509245e5905c728507 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 24 Oct 2020 22:42:28 +0100
 Subject: [PATCH] device property: Return true in fwnode_device_is_available
@@ -558,9 +558,9 @@ index 4c43d30145c6..bc9c634df6df 100644
  }
  EXPORT_SYMBOL_GPL(fwnode_device_is_available);
 -- 
-2.31.0
+2.31.1
 
-From 358ec8b50ea17c3a279c855c6357ff35e989bc41 Mon Sep 17 00:00:00 2001
+From cb13bd91945f64708a79fa82a98cddfd8b448b56 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 21 Nov 2020 22:06:38 +0000
 Subject: [PATCH] device property: Call fwnode_graph_get_endpoint_by_id() for
@@ -602,9 +602,9 @@ index bc9c634df6df..ddba75d90af2 100644
  EXPORT_SYMBOL_GPL(fwnode_graph_get_endpoint_by_id);
  
 -- 
-2.31.0
+2.31.1
 
-From 952d517ab0b07ca48ec16bd73e080d5ab4139e0e Mon Sep 17 00:00:00 2001
+From b7e199cbd7d2e1e2c863b15bd5a3ab56344499ea Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sun, 25 Oct 2020 22:49:08 +0000
 Subject: [PATCH] software_node: Enforce parent before child ordering of nodes
@@ -705,9 +705,9 @@ index 206bd4d7d7e2..eb89bdb9232c 100644
  }
  EXPORT_SYMBOL_GPL(software_node_unregister_nodes);
 -- 
-2.31.0
+2.31.1
 
-From 36765edccfd75fc921405f8e0b1beb1448b9a683 Mon Sep 17 00:00:00 2001
+From ebd68a19da2f57b83f823abcd697548e871b470c Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Wed, 21 Oct 2020 22:25:03 +0100
 Subject: [PATCH] software_node: unregister software_nodes in reverse order
@@ -760,9 +760,9 @@ index eb89bdb9232c..032b24f60c78 100644
  }
  EXPORT_SYMBOL_GPL(software_node_unregister_node_group);
 -- 
-2.31.0
+2.31.1
 
-From 7318be9410a7d42eadbef6017370279a52bf9873 Mon Sep 17 00:00:00 2001
+From 7e5fd8ec815ae98ef615beee45688ca6d7d7e884 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Tue, 22 Dec 2020 13:09:05 +0000
 Subject: [PATCH] device property: Define format macros for ports and endpoints
@@ -801,9 +801,9 @@ index 9506f8ec0974..72d36d46287d 100644
  
  /**
 -- 
-2.31.0
+2.31.1
 
-From 4aad01ce9e2c47a9ddd75d6a9c4ace9ada5346aa Mon Sep 17 00:00:00 2001
+From dcba3bf6f2d747fe476b055c65ba9dbe21f6e23a Mon Sep 17 00:00:00 2001
 From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
 Date: Tue, 15 Sep 2020 15:47:46 +0100
 Subject: [PATCH] software_node: Add support for fwnode_graph*() family of
@@ -969,9 +969,9 @@ index 032b24f60c78..7f056c5e0ed3 100644
  
  /* -------------------------------------------------------------------------- */
 -- 
-2.31.0
+2.31.1
 
-From 0e94d9261add745a41d1fa850fd46ca679b423e9 Mon Sep 17 00:00:00 2001
+From f50298e8b81d5caf86bf939e745e4f9368abce9b Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 10 Oct 2020 23:07:22 +0100
 Subject: [PATCH] lib/test_printf.c: Use helper function to unwind array of
@@ -1007,9 +1007,9 @@ index 7ac87f18a10f..7d60f24240a4 100644
  
  static void __init
 -- 
-2.31.0
+2.31.1
 
-From 3390b0fc367af331afc0bcef269b6542458d007f Mon Sep 17 00:00:00 2001
+From 6927b9e9375c61f47725e9ebe9039131a42ad925 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 10 Oct 2020 23:11:36 +0100
 Subject: [PATCH] ipu3-cio2: Add T: entry to MAINTAINERS
@@ -1038,9 +1038,9 @@ index 24cdfcf334ea..d15fa5b4558a 100644
  F:	drivers/media/pci/intel/ipu3/
  
 -- 
-2.31.0
+2.31.1
 
-From 9a11632421bd2e3727651748959d84482f047766 Mon Sep 17 00:00:00 2001
+From 1eee8fa440b66df8ec75a51632f13b8ff5744d90 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 10 Oct 2020 22:47:21 +0100
 Subject: [PATCH] ipu3-cio2: Rename ipu3-cio2.c
@@ -1073,9 +1073,9 @@ similarity index 100%
 rename from drivers/media/pci/intel/ipu3/ipu3-cio2.c
 rename to drivers/media/pci/intel/ipu3/ipu3-cio2-main.c
 -- 
-2.31.0
+2.31.1
 
-From 97bc81ceaa2428ab36e6bef3e3e3bc0544ca7c67 Mon Sep 17 00:00:00 2001
+From 5e6fc97626b5d5d960a675723d7f9d3ea3b50da5 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Wed, 21 Oct 2020 21:53:05 +0100
 Subject: [PATCH] media: v4l2-core: v4l2-async: Check sd->fwnode->secondary in
@@ -1114,9 +1114,9 @@ index e3ab003a6c85..9dd896d085ec 100644
  	 * Otherwise, check if the sd fwnode and the asd fwnode refer to an
  	 * endpoint or a device. If they're of the same type, there's no match.
 -- 
-2.31.0
+2.31.1
 
-From b7fcf41c817206b37b85fd0cbcb09d508992b763 Mon Sep 17 00:00:00 2001
+From 15115a9b961068b7e5196b25a52ec77ba88d0439 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sun, 15 Nov 2020 08:15:34 +0000
 Subject: [PATCH] ACPI / bus: Add acpi_dev_get_next_match_dev() and helper
@@ -1202,10 +1202,10 @@ index d5411a166685..ddca1550cce6 100644
  
  /*
 diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
-index 6d1879bf9440..02a716a0af5d 100644
+index 37dac195adbb..f28b097c658f 100644
 --- a/include/acpi/acpi_bus.h
 +++ b/include/acpi/acpi_bus.h
-@@ -683,9 +683,16 @@ static inline bool acpi_device_can_poweroff(struct acpi_device *adev)
+@@ -684,9 +684,16 @@ static inline bool acpi_device_can_poweroff(struct acpi_device *adev)
  
  bool acpi_dev_hid_uid_match(struct acpi_device *adev, const char *hid2, const char *uid2);
  
@@ -1223,9 +1223,9 @@ index 6d1879bf9440..02a716a0af5d 100644
  {
  	put_device(&adev->dev);
 -- 
-2.31.0
+2.31.1
 
-From ef69f75a3e6a61c03a9ff46ba47e662f5bb62cb2 Mon Sep 17 00:00:00 2001
+From ebe58275bad53b33e89ce171384c6e122958cd70 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 19 Dec 2020 23:55:04 +0000
 Subject: [PATCH] media: v4l2-fwnode: Include v4l2_fwnode_bus_type
@@ -1300,9 +1300,9 @@ index ed0840f3d5df..6ca337c28b3c 100644
   * v4l2_fwnode_endpoint_parse() - parse all fwnode node properties
   * @fwnode: pointer to the endpoint's fwnode handle
 -- 
-2.31.0
+2.31.1
 
-From 29886b566fc0973db0c67a1ffd2948e8044af152 Mon Sep 17 00:00:00 2001
+From e5573ea8bc3aa478e83266fd646f6a682df356c8 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Wed, 21 Oct 2020 21:53:44 +0100
 Subject: [PATCH] ipu3-cio2: Add cio2-bridge to ipu3-cio2 driver
@@ -1898,9 +1898,9 @@ index 62187ab5ae43..dc3e343a37fb 100644
 +
  #endif
 -- 
-2.31.0
+2.31.1
 
-From 884f04a9fb744ca3688cef3f211159a0a045fcdd Mon Sep 17 00:00:00 2001
+From c40e198087c53aa8c3139650ad87ec0e8dd1208f Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Wed, 2 Dec 2020 12:38:10 +0000
 Subject: [PATCH] acpi: utils: move acpi_lpss_dep() to utils
@@ -1953,10 +1953,10 @@ index be73974ce449..70c7d9a3f715 100644
  				    const struct lpss_device_links *link)
  {
 diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h
-index aee023ad0237..ae049e089055 100644
+index a958ad60a339..3901a251c998 100644
 --- a/drivers/acpi/internal.h
 +++ b/drivers/acpi/internal.h
-@@ -79,6 +79,7 @@ static inline void acpi_lpss_init(void) {}
+@@ -81,6 +81,7 @@ static inline void acpi_lpss_init(void) {}
  #endif
  
  void acpi_apd_init(void);
@@ -2000,9 +2000,9 @@ index ddca1550cce6..78b38775f18b 100644
   * acpi_dev_present - Detect that a given ACPI device is present
   * @hid: Hardware ID of the device.
 -- 
-2.31.0
+2.31.1
 
-From 669975a2da525294b62b8de3fccc0968e7cac642 Mon Sep 17 00:00:00 2001
+From 6dc3f2ca51a3b6bf83c15bf42a075b1b142f631a Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Thu, 26 Nov 2020 21:12:41 +0000
 Subject: [PATCH] acpi: utils: Add function to fetch dependent acpi_devices
@@ -2073,10 +2073,10 @@ index 78b38775f18b..ec6a2406a886 100644
   * acpi_dev_get_next_match_dev - Return the next match of ACPI device
   * @adev: Pointer to the previous acpi_device matching this @hid, @uid and @hrv
 diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
-index 02a716a0af5d..33deb22294f2 100644
+index f28b097c658f..9bec3373f850 100644
 --- a/include/acpi/acpi_bus.h
 +++ b/include/acpi/acpi_bus.h
-@@ -683,6 +683,8 @@ static inline bool acpi_device_can_poweroff(struct acpi_device *adev)
+@@ -684,6 +684,8 @@ static inline bool acpi_device_can_poweroff(struct acpi_device *adev)
  
  bool acpi_dev_hid_uid_match(struct acpi_device *adev, const char *hid2, const char *uid2);
  
@@ -2086,9 +2086,9 @@ index 02a716a0af5d..33deb22294f2 100644
  acpi_dev_get_next_match_dev(struct acpi_device *adev, const char *hid, const char *uid, s64 hrv);
  struct acpi_device *
 -- 
-2.31.0
+2.31.1
 
-From 7704e91667cdd7e686c6eaa847dd87979bf8f3c4 Mon Sep 17 00:00:00 2001
+From a0f14d98e9ebe2c566d19000d1dff012f50bea1e Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Mon, 16 Nov 2020 21:38:49 +0000
 Subject: [PATCH] i2c: i2c-core-base: Use format macro in i2c_dev_set_name()
@@ -2154,9 +2154,9 @@ index 56622658b215..65acae61dc5c 100644
  {
  	return NULL;
 -- 
-2.31.0
+2.31.1
 
-From fb1a98ff1a91e28db6037356126cda88a15a6322 Mon Sep 17 00:00:00 2001
+From 669684fca2f9eb039778c23dad69382ed1d244ef Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Wed, 2 Dec 2020 16:41:42 +0000
 Subject: [PATCH] i2c: i2c-core-acpi: Add i2c_acpi_dev_name()
@@ -2212,9 +2212,9 @@ index 65acae61dc5c..b82aac05b17f 100644
  #else
  static inline bool i2c_acpi_get_i2c_resource(struct acpi_resource *ares,
 -- 
-2.31.0
+2.31.1
 
-From d9cb74aa6d53c78de606ff5f59c773a22e453e59 Mon Sep 17 00:00:00 2001
+From 21a23e601d4efbb3cdfaa698a8d00abcbd19f6cf Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Mon, 16 Nov 2020 00:16:56 +0000
 Subject: [PATCH] gpio: gpiolib-acpi: Export acpi_get_gpiod()
@@ -2232,7 +2232,7 @@ Patchset: cameras
  2 files changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
-index 49a1f8ce4baa..36fc17c921f0 100644
+index 863f059bc498..91689457116b 100644
 --- a/drivers/gpio/gpiolib-acpi.c
 +++ b/drivers/gpio/gpiolib-acpi.c
 @@ -111,7 +111,7 @@ static int acpi_gpiochip_find(struct gpio_chip *gc, void *data)
@@ -2276,9 +2276,9 @@ index 9e173c6f312d..90665e538462 100644
  
  static inline int acpi_dev_gpio_irq_get(struct acpi_device *adev, int index)
 -- 
-2.31.0
+2.31.1
 
-From b96bf8bfbe0e01af0a92b5d87aeafa7d09795037 Mon Sep 17 00:00:00 2001
+From 776f66f03001af40dd92e0753c993e8a38e1730f Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 12 Dec 2020 23:56:59 +0000
 Subject: [PATCH] mfd: Remove tps68470 MFD driver
@@ -2467,9 +2467,9 @@ index 4a4df4ffd18c..000000000000
 -};
 -builtin_i2c_driver(tps68470_driver);
 -- 
-2.31.0
+2.31.1
 
-From 08256446a7d92e72d03346d79c4c13d04b5df932 Mon Sep 17 00:00:00 2001
+From ae7671f94f75d8e0f61d6eff4573adb7826cc4f3 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Fri, 15 Jan 2021 12:37:31 +0000
 Subject: [PATCH] platform: x86: Add intel_skl_int3472 driver
@@ -3436,9 +3436,9 @@ index 000000000000..3fe27ec0caff
 +	return ret;
 +}
 -- 
-2.31.0
+2.31.1
 
-From 0c001553aa56832a3842a57bad282a7b72bf51b1 Mon Sep 17 00:00:00 2001
+From 466aa72acf95c948f4246149c832fd48f62c6e7c Mon Sep 17 00:00:00 2001
 From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
 Date: Fri, 11 Dec 2020 21:17:35 +0100
 Subject: [PATCH] PCI: ACPI: Fix up ACPI companion lookup for device 0 on the
@@ -3506,9 +3506,9 @@ index 745a4e0c4994..87e45a800919 100644
  
  /**
 -- 
-2.31.0
+2.31.1
 
-From 0a73f66367a20de0212faa39b592311106a8c454 Mon Sep 17 00:00:00 2001
+From b6bf3603fdcbdf135d279c818f16fe82063dc243 Mon Sep 17 00:00:00 2001
 From: Jake Day <jake@ninebysix.com>
 Date: Fri, 25 Sep 2020 10:24:53 -0400
 Subject: [PATCH] media: i2c: Add support for the OV5693 image sensor
@@ -6863,9 +6863,9 @@ index 000000000000..9a508e1f3624
 +static unsigned long N_RES = N_RES_VIDEO;
 +#endif
 -- 
-2.31.0
+2.31.1
 
-From 84f531d656c111e4535142c8c2b2bea6d643a4ed Mon Sep 17 00:00:00 2001
+From a6bb2f377ee9a2c5f67742a4bc63549b4fd47130 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sun, 17 Jan 2021 19:08:18 +0000
 Subject: [PATCH] media: i2c: Add reset pin toggling to ov5693
@@ -6904,9 +6904,9 @@ index 32485e4ed42b..f9ced52ad37a 100644
  
  	if (dev->indicator_led)
 -- 
-2.31.0
+2.31.1
 
-From 7b9c5462af572b2c14680170740f87cbc5e01115 Mon Sep 17 00:00:00 2001
+From 353960daab3fcbf037aefbb35f237be2a18d53f1 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sun, 17 Jan 2021 21:39:15 +0000
 Subject: [PATCH] media: i2c: Fix misnamed variable in power_down() for ov5693
@@ -6933,9 +6933,9 @@ index f9ced52ad37a..9fd44a3d1d85 100644
  	clk_disable_unprepare(dev->clk);
  
 -- 
-2.31.0
+2.31.1
 
-From 47b36f1d7958a10ffa552c4b30f3da60cd1840c6 Mon Sep 17 00:00:00 2001
+From 09058c3658d1f58815fee2c280ee88209650e47e Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Fabian=20W=C3=BCthrich?= <me@fabwu.ch>
 Date: Fri, 22 Jan 2021 20:58:13 +0100
 Subject: [PATCH] cio2-bridge: Parse sensor orientation and rotation
@@ -7096,9 +7096,9 @@ index dd0ffcafa489..924d99d20328 100644
  	struct property_entry ep_properties[5];
  	struct property_entry dev_properties[3];
 -- 
-2.31.0
+2.31.1
 
-From 42463b22f8d86842e38329058faf64c42cae4062 Mon Sep 17 00:00:00 2001
+From d3706ec91c8e113a526a7dc34e7df31b0a4d9cd2 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Fabian=20W=C3=BCthrich?= <me@fabwu.ch>
 Date: Fri, 22 Jan 2021 21:23:47 +0100
 Subject: [PATCH] ov5693: Add orientation and rotation controls
@@ -7152,9 +7152,9 @@ index 9fd44a3d1d85..1a85800df7ed 100644
  	ov5693->ctrl_handler.lock = &ov5693->input_lock;
  	ov5693->sd.ctrl_handler = &ov5693->ctrl_handler;
 -- 
-2.31.0
+2.31.1
 
-From 41890dd3ae3194c3d5f27b3012eb9bf011096174 Mon Sep 17 00:00:00 2001
+From 98104164b97f099b6c85906ac8061eeea6c8ccf8 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 23 Jan 2021 00:28:32 +0000
 Subject: [PATCH] platform: x86: Stylistic updates for intel-skl-int3472
@@ -7569,9 +7569,9 @@ index 3fe27ec0caff..40629291b339 100644
  		return -EINVAL;
  
 -- 
-2.31.0
+2.31.1
 
-From a466857c15ce2598dceef764dc02cc894f112ce7 Mon Sep 17 00:00:00 2001
+From 0d4c158f801b74473d5b4fec052b82455e876e2b Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 23 Jan 2021 00:30:15 +0000
 Subject: [PATCH] platform: x86: Add recalc_rate opp to int3472-discrete clock
@@ -7696,9 +7696,9 @@ index 42ae8396eb64..98eb1ec3399e 100644
  
  	acpi_dev_put(int3472->sensor);
 -- 
-2.31.0
+2.31.1
 
-From 24bce0b62e30528f5505ea35ac8dea7a0a4440af Mon Sep 17 00:00:00 2001
+From 8fc9d3be0e2da61e52f6831bf2227e488cd38750 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Fabian=20W=C3=BCthrich?= <me@fabwu.ch>
 Date: Sun, 24 Jan 2021 11:07:42 +0100
 Subject: [PATCH] cio2-bridge: Use macros and add warnings
@@ -7800,9 +7800,9 @@ index 924d99d20328..e1e388cc9f45 100644
  	(const struct cio2_sensor_config) {	\
  		.hid = _HID,			\
 -- 
-2.31.0
+2.31.1
 
-From f40649765b18153393c408a72a9de8bb51b5ef2d Mon Sep 17 00:00:00 2001
+From ddd109f592c7133630a6d2365163c3feeb86cde8 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Mon, 8 Feb 2021 21:44:38 +0000
 Subject: [PATCH] media: i2c: Tidy up ov5693_init_controls()
@@ -7922,9 +7922,9 @@ index 9a508e1f3624..26819cf3f4d2 100644
  
  enum ov5693_tok_type {
 -- 
-2.31.0
+2.31.1
 
-From 451296069dddae10ed01e09eb9ad7f68e7f84cc4 Mon Sep 17 00:00:00 2001
+From dcb77aef7327f9c6178ae54d9a8b08bff6c2aee3 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Mon, 8 Feb 2021 21:46:49 +0000
 Subject: [PATCH] media: i2c: Remove OV5693_PPL_DEFAULT
@@ -7960,9 +7960,9 @@ index a9747ab783d7..7fb368eec327 100644
  						 V4L2_CID_HBLANK, hblank, hblank,
  						 1, hblank);
 -- 
-2.31.0
+2.31.1
 
-From 701d37e3e14563c7fe6876f239c230697c89d5b1 Mon Sep 17 00:00:00 2001
+From 63df918819cb706a6744a4be0bfe388501ba736c Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Mon, 8 Feb 2021 22:53:02 +0000
 Subject: [PATCH] media: i2c: Add vblank control to ov5693 driver
@@ -8036,9 +8036,9 @@ index 26819cf3f4d2..9d7eed97963b 100644
  
  };
 -- 
-2.31.0
+2.31.1
 
-From 5edbe25d88c928f9a8af0f5c72a1f518ce225b1c Mon Sep 17 00:00:00 2001
+From ea8927352890c9b2d84ca759231e88aef6aa9eb2 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Wed, 10 Feb 2021 00:36:32 +0000
 Subject: [PATCH] media: i2c: update exposure control for ov5693
@@ -8111,9 +8111,9 @@ index 1950d7ac2d54..cea767230aa9 100644
  	/* Gain */
  
 -- 
-2.31.0
+2.31.1
 
-From bbe385433516fa806ee4e9c5da845e8ad5d984fb Mon Sep 17 00:00:00 2001
+From 3144e01c8ce4d44e5d41a963fe64cca90a4ce114 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Wed, 10 Feb 2021 00:39:42 +0000
 Subject: [PATCH] media: i2c: Fix incorrect bit-setting
@@ -8147,9 +8147,9 @@ index cea767230aa9..f681dbfcec56 100644
  
  #define OV5693_GAIN_CTRL_H_REG			0x3504
 -- 
-2.31.0
+2.31.1
 
-From d4f5d01c40c2cff55066a4ffb24535614f5eef1b Mon Sep 17 00:00:00 2001
+From ba1c8cad9ae1d531fc32c84bbe241caccea2e7bb Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Wed, 10 Feb 2021 16:25:48 +0000
 Subject: [PATCH] media: i2c: Don't set stream on during mode config
@@ -8297,9 +8297,9 @@ index 9d7eed97963b..965208078c2b 100644
  };
  
 -- 
-2.31.0
+2.31.1
 
-From 9031afa6cc5b18771ea392fd6b71160292d95738 Mon Sep 17 00:00:00 2001
+From facca0f2108db8d9da3a24a8168e0dc970c8b46b Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Wed, 10 Feb 2021 16:35:24 +0000
 Subject: [PATCH] media: i2c: Update gain control for ov5693
@@ -8369,9 +8369,9 @@ index f681dbfcec56..51eb3b05d121 100644
  	/* Flip */
  
 -- 
-2.31.0
+2.31.1
 
-From 0985413a964f9c84768b22ebc2a46c70f6e46f8c Mon Sep 17 00:00:00 2001
+From 62401c0dfd863613666cc425fc92fcbac8205db6 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Wed, 10 Feb 2021 23:44:39 +0000
 Subject: [PATCH] media: i2c: Fixup gain read
@@ -8432,9 +8432,9 @@ index 51eb3b05d121..952558c4f33b 100644
  }
  
 -- 
-2.31.0
+2.31.1
 
-From 505e169a9b63f611845e73e00392d3ba0ff84997 Mon Sep 17 00:00:00 2001
+From c4742c790f9664966896d06a03466f9d868cef30 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Thu, 11 Feb 2021 00:40:10 +0000
 Subject: [PATCH] media: i2c: Update controls on stream
@@ -8467,9 +8467,9 @@ index 952558c4f33b..dd31083eeb7b 100644
  			       enable ? OV5693_START_STREAMING :
  			       OV5693_STOP_STREAMING);
 -- 
-2.31.0
+2.31.1
 
-From d8602c5b0a6807f0ba092fc89e57dcd1bb98f3a6 Mon Sep 17 00:00:00 2001
+From cf8c99b5a8b5571fb3fc0d9b3b33f2a528714652 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Thu, 11 Feb 2021 23:29:15 +0000
 Subject: [PATCH] media: i2c: Correct link frequency value
@@ -8506,9 +8506,9 @@ index 965208078c2b..7f1d31a82d3d 100644
  
  #define OV5693_NUM_SUPPLIES             2
 -- 
-2.31.0
+2.31.1
 
-From 63c36c6a04b11649af432feab98c44b2a26178cd Mon Sep 17 00:00:00 2001
+From 8320e18df0065933cf8a40399e70f8c03517a849 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Mon, 25 Jan 2021 23:12:09 +0000
 Subject: [PATCH] media: i2c: Cleanup ov5693 driver
@@ -9427,9 +9427,9 @@ index 7f1d31a82d3d..70ccb3aae4c7 100644
          struct regulator_bulk_data supplies[OV5693_NUM_SUPPLIES];
  	struct clk *clk;
 -- 
-2.31.0
+2.31.1
 
-From c2b48c99d6c0616d9ffc90ce76e6beae21e7b4f5 Mon Sep 17 00:00:00 2001
+From 578fa90606c01d46e043232bff1af968eaf7bbed Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Thu, 28 Jan 2021 12:04:38 +0000
 Subject: [PATCH] media: i2c: Add pm_runtime support to ov5693 driver
@@ -9772,9 +9772,9 @@ index 70ccb3aae4c7..b78d3b474a43 100644
  	struct camera_sensor_platform_data *platform_data;
  	ktime_t timestamp_t_focus_abs;
 -- 
-2.31.0
+2.31.1
 
-From 9d3f801c400200208e0b6168425ad5c8f1a30628 Mon Sep 17 00:00:00 2001
+From d0ef5bd27d854bc0ac85e2d487dfb4654e3ea20f Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Thu, 28 Jan 2021 12:07:36 +0000
 Subject: [PATCH] media: i2c: Remove old power methods from ov5693
@@ -9943,9 +9943,9 @@ index f2eaa5f71a31..ce26ce86fbd5 100644
  	.pad = &ov5693_pad_ops,
  };
 -- 
-2.31.0
+2.31.1
 
-From c6f0b6a745f9f941b926001a6ce2c8d20602733c Mon Sep 17 00:00:00 2001
+From 2472666387725188ca4d110bf1287465b85d0a8d Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Thu, 28 Jan 2021 12:14:00 +0000
 Subject: [PATCH] media: i2c: Trim unused headers from ov5693
@@ -9984,9 +9984,9 @@ index ce26ce86fbd5..b3b391a49fdb 100644
  #include <media/v4l2-fwnode.h>
  
 -- 
-2.31.0
+2.31.1
 
-From 8125fa58bb8aba30da77f0c3cfd49df4abc7e950 Mon Sep 17 00:00:00 2001
+From b70cd82332458e64171dc1dd45e09775f6c143cc Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 13 Feb 2021 21:39:35 +0000
 Subject: [PATCH] media: i2c: Remove VCM stuff
@@ -10403,9 +10403,9 @@ index b3b391a49fdb..2c82b6578de9 100644
  
  	v4l2_i2c_subdev_init(&ov5693->sd, client, &ov5693_ops);
 -- 
-2.31.0
+2.31.1
 
-From ff99a665c353251e363c633e06ef3de569fdf154 Mon Sep 17 00:00:00 2001
+From 052a6cc9f722d2590eb573f7813eab5ed8d1d741 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 13 Feb 2021 22:16:08 +0000
 Subject: [PATCH] media: i2c: Tidy up ov5693 sensor init
@@ -10559,9 +10559,9 @@ index 2c82b6578de9..313bc9177328 100644
  	mutex_unlock(&ov5693->lock);
  	return ret;
 -- 
-2.31.0
+2.31.1
 
-From 00575938e8181fe54ea7f36d6da953a1e15af00f Mon Sep 17 00:00:00 2001
+From f3e2b395442dea88e228fff4332167928082e170 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Fri, 12 Feb 2021 16:14:04 +0000
 Subject: [PATCH] media: i2c: cleanup macros in ov5693.h
@@ -10705,9 +10705,9 @@ index b78d3b474a43..6502777eb5f3 100644
  #define OV5693_FRAME_OFF_NUM		0x4202
  #define OV5693_OTP_BYTE_MAX		32	//change to 32 as needed by otpdata
 -- 
-2.31.0
+2.31.1
 
-From 7bfb9ab5c9316e13814796dd21e41fb9778acb8f Mon Sep 17 00:00:00 2001
+From 0e6b40b8ea23e0d77a5e1b5c560a399ec10b7e36 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Fri, 12 Feb 2021 16:19:09 +0000
 Subject: [PATCH] media: i2c: use devm_kzalloc() to initialise ov5693
@@ -10735,9 +10735,9 @@ index 313bc9177328..d092ed698eb3 100644
  		return -ENOMEM;
  
 -- 
-2.31.0
+2.31.1
 
-From 5643c11849368d1b8460e80b5d1565ce86b40f0a Mon Sep 17 00:00:00 2001
+From 6da9e12b1eb07fe3e14894e9dd55b8c94151f1c7 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Fri, 12 Feb 2021 16:26:21 +0000
 Subject: [PATCH] media: i2c: Check for supported clk rate in probe
@@ -10792,9 +10792,9 @@ index 6502777eb5f3..0dfbbe9a0ff2 100644
  #define OV5693_LINK_FREQ_400MHZ		400000000
  /* pixel_rate = link_freq * 2 * nr_of_lanes / bits_per_sample
 -- 
-2.31.0
+2.31.1
 
-From 764f092ecc755bf561ee90fd677cb4e8707e9914 Mon Sep 17 00:00:00 2001
+From 0074018364836451ae790097ab3885d1bf0ff3de Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 13 Feb 2021 23:17:50 +0000
 Subject: [PATCH] media: i2c: Use devres to fetch gpios
@@ -10866,9 +10866,9 @@ index 8082d37841da..c580159079d2 100644
  
  static int ov5693_get_regulators(struct ov5693_device *ov5693)
 -- 
-2.31.0
+2.31.1
 
-From c312985739d8f7c5a8dbc6713919d609494bf556 Mon Sep 17 00:00:00 2001
+From 594606a5ce5a24e1cc4a0f9d2383198d795d8c9a Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sat, 13 Feb 2021 23:20:47 +0000
 Subject: [PATCH] media: i2c: Use devres to fetch regulators
@@ -10909,9 +10909,9 @@ index c580159079d2..9f61b470f8ba 100644
  				       ov5693->supplies);
  }
 -- 
-2.31.0
+2.31.1
 
-From 5c881a1b9c4331c6d69ded89158416221c5c2298 Mon Sep 17 00:00:00 2001
+From e6c396abddc7c62502b3cca333f508a7a1060efd Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sun, 14 Feb 2021 12:39:14 +0000
 Subject: [PATCH] media: i2c: remove debug print
@@ -10988,9 +10988,9 @@ index 9f61b470f8ba..622a7ddf4063 100644
  	return 0;
  }
 -- 
-2.31.0
+2.31.1
 
-From e13d10ddf536aabcbf3c67e45bc46edbb87bc4d1 Mon Sep 17 00:00:00 2001
+From b62d9ceddc50fd2b4aed48c224697c18f0670e03 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sun, 14 Feb 2021 14:32:50 +0000
 Subject: [PATCH] media: i2c: Remove unused resolutions from ov5693
@@ -11417,9 +11417,9 @@ index 0dfbbe9a0ff2..29e6735112da 100644
  static unsigned long N_RES = N_RES_VIDEO;
 -#endif
 -- 
-2.31.0
+2.31.1
 
-From cc7c7ef6714d0a7768db66b7023230079988137d Mon Sep 17 00:00:00 2001
+From 00aaf1cc71dc7bb595e0bf233d440c5bfecce05b Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sun, 14 Feb 2021 14:45:58 +0000
 Subject: [PATCH] media: i2c: update set_fmt() for ov5693
@@ -11658,5 +11658,5 @@ index 29e6735112da..0377853f8b2b 100644
  	int otp_size;
  	u8 *otp_data;
 -- 
-2.31.0
+2.31.1
 

+ 2 - 2
patches/5.10/0011-ath10k-firmware-override.patch

@@ -1,4 +1,4 @@
-From 54e3318366a9455cb63869bf87030652d383cea4 Mon Sep 17 00:00:00 2001
+From 8a0c2be55a63ce5f7160e70726f64abdf9d9d55c 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 d73ad60b571c..f242fd4b81a6 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