Update v5.16 patches

Changes:
 - Rebase onto v5.16.13

Links:
 - kernel: 92ddcc5b66
This commit is contained in:
Maximilian Luz 2022-03-11 01:59:21 +01:00
parent 891e89ae81
commit bd84bc7b23
No known key found for this signature in database
GPG key ID: 70EC0937F6C26F02
13 changed files with 495 additions and 146 deletions

View file

@ -1,4 +1,4 @@
From 6ff8120e182ecba33eb9046172126963622bbe0a Mon Sep 17 00:00:00 2001
From 4d3a1d1b7982a5606a3487d88001873f27ccde33 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

View file

@ -1,4 +1,4 @@
From b1ca2da332522efd6f348f129a3c1e7ed9af6732 Mon Sep 17 00:00:00 2001
From 87e58ba4d9bd4ede8a89369e084d4410bae0deee 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
@ -183,7 +183,7 @@ index 8ec4176d698f..25370c5a4f59 100644
--
2.35.1
From fa57e82fd551dbb29415705130d8f34e2632be04 Mon Sep 17 00:00:00 2001
From 919100911e86f781718dcc54c758e1558d7bae2c 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
@ -245,7 +245,7 @@ index 563dd0d5ac79..32e2f000e57b 100644
--
2.35.1
From 6e4650091e0244ceee1b88eaa2129859fef97543 Mon Sep 17 00:00:00 2001
From 72a6c0303d0f23b455112260ae840aa7c0311542 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+
@ -400,7 +400,7 @@ index 25370c5a4f59..a1de111ad1db 100644
--
2.35.1
From 4e6f6a37eeeda9f1e3ea7ce1fdf695f06cd32ba7 Mon Sep 17 00:00:00 2001
From af845656c459d99ce0302ad6d3ccc30aeda320e0 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
@ -567,7 +567,7 @@ index a1de111ad1db..0e429779bb04 100644
--
2.35.1
From 06f4a94cf17b1745775b033d93b9b8d4be80f1eb Mon Sep 17 00:00:00 2001
From 2889a255ae31c329478f26149af1109eda939f57 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
@ -645,7 +645,7 @@ index ea72afb7abea..dc0d1d8e0daa 100644
--
2.35.1
From 2c18d52eae47527d076216b87a01d33920579dba Mon Sep 17 00:00:00 2001
From 86cccb3c0c5b940424774241c4785e24a0ba31fa 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
@ -702,7 +702,7 @@ index 586c79dc0a98..f87bc9bdfba7 100644
--
2.35.1
From c7231d43431e69773e74aee4f431615c4432cecd Mon Sep 17 00:00:00 2001
From 35515228f4da328d99d22e46d94a734edfee1a40 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
Date: Tue, 13 Apr 2021 14:23:05 +0200
Subject: [PATCH] mwifiex: Add quirk to disable deep sleep with certain
@ -805,7 +805,7 @@ index 6b5d35d9e69f..8e49ebca1847 100644
--
2.35.1
From 1eaf07eaf55ca2c59ff9be2750c3bdccf6fbf4b4 Mon Sep 17 00:00:00 2001
From de45e6e95c16c2c14e7c9acebcfd66f5dc74a563 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
Date: Tue, 13 Apr 2021 12:57:41 +0200
Subject: [PATCH] mwifiex: Ignore BTCOEX events from the firmware

View file

@ -1,4 +1,4 @@
From 4af56eed5c948b14b474a6d35f295c292ef59ae5 Mon Sep 17 00:00:00 2001
From 311a7f0739022bf7d4252b61135ab106b28e31b9 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

View file

@ -1,4 +1,4 @@
From 41a25b667f7633e805555afe62e515be4a6c84c2 Mon Sep 17 00:00:00 2001
From fb09511fbb0c22e5704b5b835a55d1d5568c7f8d 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
@ -36,7 +36,7 @@ index 3a45aaf002ac..55b8ee30a03c 100644
--
2.35.1
From 1d0cba8f43d125b4c9800069252efa697b64eccb Mon Sep 17 00:00:00 2001
From 9aa5f4213859c7f8d60006246dd01e3ae45aab21 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

View file

@ -1,4 +1,4 @@
From 31717462e6317b56326e0a348f2eb3dde21de0b3 Mon Sep 17 00:00:00 2001
From 55886a7a57015fa88846249f9d8ea43b15236f06 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Wed, 2 Jun 2021 03:34:06 +0200
Subject: [PATCH] platform/surface: aggregator: Make client device removal more
@ -123,7 +123,7 @@ index f636c5310321..cc257097eb05 100644
--
2.35.1
From 3e6af37aa4c4482fd905f1b8dd35212a16e6dc92 Mon Sep 17 00:00:00 2001
From 6764f12ee5cb5794330e4d45f46620feaa0cd2d6 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Wed, 27 Oct 2021 02:06:38 +0200
Subject: [PATCH] platform/surface: aggregator_registry: Use generic client
@ -211,7 +211,7 @@ index e70f4c63554e..f6c639342b9d 100644
--
2.35.1
From 19cc47e4657135438b5cd6265f74f6ba46e7c23b Mon Sep 17 00:00:00 2001
From 8424f19395fd48761c79bf4a19d659a48bcf9fdb Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Wed, 27 Oct 2021 02:07:33 +0200
Subject: [PATCH] platform/surface: aggregator_registry: Rename device
@ -262,7 +262,7 @@ index f6c639342b9d..ce2bd88feeaa 100644
--
2.35.1
From 249e05bb853e0a8f8fb52e0c64b218bf632b0f6d Mon Sep 17 00:00:00 2001
From 91b8e468fa870dc55438241368f9cc9cb1ab400d Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Tue, 8 Jun 2021 00:24:47 +0200
Subject: [PATCH] platform/surface: aggregator: Allow devices to be marked as
@ -383,7 +383,7 @@ index cc257097eb05..491aa7e9f4bc 100644
--
2.35.1
From 208aa04b36bc62b1fe4adf4225fdd459359ffc76 Mon Sep 17 00:00:00 2001
From 91cea39ccc50fc7e77970770b7d74f36f39977bd Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Tue, 8 Jun 2021 00:48:22 +0200
Subject: [PATCH] platform/surface: aggregator: Allow notifiers to avoid
@ -670,7 +670,7 @@ index 491aa7e9f4bc..16816c34da3e 100644
--
2.35.1
From 6e2da37c85a92c5cff311232adefe5f1078abf2b Mon Sep 17 00:00:00 2001
From 641ec58894e5bdd26b5d75253cf3f1888c508335 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Tue, 8 Jun 2021 01:20:49 +0200
Subject: [PATCH] platform/surface: aggregator_registry: Use client device
@ -719,7 +719,7 @@ index ce2bd88feeaa..9f630e890ff7 100644
--
2.35.1
From 1322db604fcff21584456c681897e25b63a8c0e5 Mon Sep 17 00:00:00 2001
From bb533fa18811ae83676130069f25b9db7ae15dee Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Thu, 28 Oct 2021 03:37:06 +0200
Subject: [PATCH] power/supply: surface_charger: Use client device wrappers for
@ -759,7 +759,7 @@ index a060c36c7766..59182d55742d 100644
--
2.35.1
From 89a03d710ebc3db7fb2f9b3cde26b882fee68823 Mon Sep 17 00:00:00 2001
From 8f5c8174aa684cfee91b8d406ef5f1a390629c05 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Thu, 28 Oct 2021 03:38:09 +0200
Subject: [PATCH] power/supply: surface_battery: Use client device wrappers for
@ -799,7 +799,7 @@ index 5ec2e6bb2465..540707882bb0 100644
--
2.35.1
From 3c7a5d78cc16aab50b2257f8b882a5d7433b4c47 Mon Sep 17 00:00:00 2001
From de6436d421fe15f3d3fc8501b4eb2ead6dab2a2a Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Tue, 8 Jun 2021 01:33:02 +0200
Subject: [PATCH] HID: surface-hid: Add support for hot-removal
@ -910,7 +910,7 @@ index 5571e74abe91..d2e695e942b6 100644
--
2.35.1
From bf13e27f8f8f74665cb0678d35ce75956168ec5c Mon Sep 17 00:00:00 2001
From 64bfad8b3771f1d130931353dad2b37c06ca4dee Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sun, 31 Oct 2021 12:34:08 +0100
Subject: [PATCH] platform/surface: aggregator: Add comment for KIP subsystem
@ -948,7 +948,7 @@ index c3de43edcffa..d1efac85caf1 100644
--
2.35.1
From 1b86fbfe3d93c0d44cdb678e0d1c209931f02ba7 Mon Sep 17 00:00:00 2001
From 3d3b7e6e5d99f3791b38b587d75bd11bb9de6f94 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sun, 10 Oct 2021 23:56:23 +0200
Subject: [PATCH] platform/surface: aggregator_registry: Add KIP device hub
@ -1262,7 +1262,7 @@ index 9f630e890ff7..4838ce6519a6 100644
--
2.35.1
From fabf7a435e77366a3d815eba835ca281e01346df Mon Sep 17 00:00:00 2001
From ac494dd4dd7f80ce38024799232c358c7f32bd60 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Wed, 27 Oct 2021 22:33:03 +0200
Subject: [PATCH] platform/surface: aggregator_registry: Add support for
@ -1360,7 +1360,7 @@ index 4838ce6519a6..c0e29c0514df 100644
--
2.35.1
From 9a3c17cb92150c072a62ddf466d952cf2e1b57f8 Mon Sep 17 00:00:00 2001
From 73b7cd09613ec6c6bfe865b904d13cb935f5c1d8 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Tue, 8 Jun 2021 03:19:20 +0200
Subject: [PATCH] platform/surface: Add KIP tablet-mode switch
@ -1704,7 +1704,7 @@ index 000000000000..458470067579
--
2.35.1
From 4602ec03691a51f125f43d4472cd5efa4060c09b Mon Sep 17 00:00:00 2001
From 11882ec40194fb1d1cf205bd9e3d5d70d3e680f9 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Wed, 27 Oct 2021 22:33:03 +0200
Subject: [PATCH] platform/surface: aggregator_registry: Add support for tablet

View file

@ -1,4 +1,4 @@
From aa75155bbcc9fd17e6f047063555e46b7f854677 Mon Sep 17 00:00:00 2001
From 37c38cb638f59b0715c71ad0386794abd7ec3734 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
@ -110,7 +110,7 @@ index 92c1cc07ed46..3b688cea8e00 100644
--
2.35.1
From 83d6733d77f470c70c11c79f98a61e196283a4fc Mon Sep 17 00:00:00 2001
From 8e8c20d113c57a74499e89ea8ca5c606717053af Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 13 Feb 2021 16:41:18 +0100
Subject: [PATCH] platform/surface: Add driver for Surface Book 1 dGPU switch

View file

@ -1,4 +1,4 @@
From 3e8077343a4ccc5f793a9cbb796e39cdd49d4739 Mon Sep 17 00:00:00 2001
From 3bd8819271f8893096f0fffae9dc1375e1c1ebf3 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Wed, 27 Oct 2021 00:56:11 +0200
Subject: [PATCH] platform/surface: gpe: Add support for Surface Pro 8

View file

@ -1,4 +1,4 @@
From a8adc02150112ed2b34047e2cc79beae56572fc7 Mon Sep 17 00:00:00 2001
From 47805f5c80c7efd8a464066f89b01000e4276060 Mon Sep 17 00:00:00 2001
From: Sachi King <nakato@nakato.io>
Date: Tue, 5 Oct 2021 00:05:09 +1100
Subject: [PATCH] Input: soc_button_array - support AMD variant Surface devices
@ -75,7 +75,7 @@ index cb6ec59a045d..4e8944f59def 100644
--
2.35.1
From c4dc4ccefc1ac69651a5a795da4689720968d122 Mon Sep 17 00:00:00 2001
From 332a74a321754eeb8aa4c2edd7c450608e7c1513 Mon Sep 17 00:00:00 2001
From: Sachi King <nakato@nakato.io>
Date: Tue, 5 Oct 2021 00:22:57 +1100
Subject: [PATCH] platform/surface: surfacepro3_button: don't load on amd
@ -147,3 +147,411 @@ index 242fb690dcaf..30eea54dbb47 100644
--
2.35.1
From af4c7d2c0e364b9d58a2106d09ba54cf812e44ba Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Thu, 24 Feb 2022 12:02:40 +0100
Subject: [PATCH] Input: soc_button_array - add support for Microsoft Surface 3
(MSHW0028) buttons
The drivers/platform/surface/surface3_button.c code is alsmost a 1:1 copy
of the soc_button_array code.
The only big difference is that it binds to an i2c_client rather then to
a platform_device. The cause of this is the ACPI resources for the MSHW0028
device containing a bogus I2cSerialBusV2 resource which causes the kernel
to instantiate an i2c_client for it instead of a platform_device.
Add "MSHW0028" to the ignore_serial_bus_ids[] list in drivers/apci/scan.c,
so that a platform_device will be instantiated and add support for
the MSHW0028 HID to soc_button_array.
This fully replaces surface3_button, which will be removed in a separate
commit (since it binds to the now no longer created i2c_client it no
longer does anyyhing after this commit).
Note the MSHW0028 id is used by Microsoft to describe the tablet buttons on
both the Surface 3 and the Surface 3 Pro and the actual API/implementation
for the Surface 3 Pro is quite different. The changes in this commit should
not impact the separate surfacepro3_button driver:
1. Because of the bogus I2cSerialBusV2 resource problem that driver binds
to the acpi_device itself, so instantiating a platform_device instead of
an i2c_client does not matter.
2. The soc_button_array driver will not bind to the MSHW0028 device on
the Surface 3 Pro, because it has no GPIO resources.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
Patchset: surface-button
---
drivers/acpi/scan.c | 5 +++++
drivers/input/misc/soc_button_array.c | 24 +++++++++++++++++++++++-
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 25d9f04f1995..608e83f07b48 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -1708,6 +1708,11 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
{"BSG2150", },
{"INT33FE", },
{"INT3515", },
+ /*
+ * Some ACPI devs contain SerialBus resources even though they are not
+ * attached to a serial bus at all.
+ */
+ {"MSHW0028", },
/*
* HIDs of device with an UartSerialBusV2 resource for which userspace
* expects a regular tty cdev to be created (instead of the in kernel
diff --git a/drivers/input/misc/soc_button_array.c b/drivers/input/misc/soc_button_array.c
index 4e8944f59def..f044c731c6a9 100644
--- a/drivers/input/misc/soc_button_array.c
+++ b/drivers/input/misc/soc_button_array.c
@@ -469,6 +469,27 @@ static const struct soc_device_data soc_device_INT33D3 = {
.button_info = soc_button_INT33D3,
};
+/*
+ * Button info for Microsoft Surface 3 (non pro), this is indentical to
+ * the PNP0C40 info except that the home button is active-high.
+ *
+ * The Surface 3 Pro also has a MSHW0028 ACPI device, but that uses a custom
+ * version of the drivers/platform/x86/intel/hid.c 5 button array ACPI API
+ * instead. A check() callback is not necessary though as the Surface 3 Pro
+ * MSHW0028 ACPI device's resource table does not contain any GPIOs.
+ */
+static const struct soc_button_info soc_button_MSHW0028[] = {
+ { "power", 0, EV_KEY, KEY_POWER, false, true, true },
+ { "home", 1, EV_KEY, KEY_LEFTMETA, false, true, false },
+ { "volume_up", 2, EV_KEY, KEY_VOLUMEUP, true, false, true },
+ { "volume_down", 3, EV_KEY, KEY_VOLUMEDOWN, true, false, true },
+ { }
+};
+
+static const struct soc_device_data soc_device_MSHW0028 = {
+ .button_info = soc_button_MSHW0028,
+};
+
/*
* Special device check for Surface Book 2 and Surface Pro (2017).
* Both, the Surface Pro 4 (surfacepro3_button.c) and the above mentioned
@@ -518,7 +539,8 @@ static const struct acpi_device_id soc_button_acpi_match[] = {
{ "ID9001", (unsigned long)&soc_device_INT33D3 },
{ "ACPI0011", 0 },
- /* Microsoft Surface Devices (5th and 6th generation) */
+ /* Microsoft Surface Devices (3th, 5th and 6th generation) */
+ { "MSHW0028", (unsigned long)&soc_device_MSHW0028 },
{ "MSHW0040", (unsigned long)&soc_device_MSHW0040 },
{ }
--
2.35.1
From 912018cdd132146de2b832cdbb3992071801e3c0 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Thu, 24 Feb 2022 12:02:41 +0100
Subject: [PATCH] platform/surface: Remove Surface 3 Button driver
The Surface 3 buttons are now handled by the generic soc_button_array
driver. As part of adding support to soc_button_array the ACPI code
now instantiates a platform_device rather then an i2c_client so there
no longer is an i2c_client for this driver to bind to.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
Patchset: surface-button
---
drivers/platform/surface/Kconfig | 6 -
drivers/platform/surface/Makefile | 1 -
drivers/platform/surface/surface3_button.c | 247 ---------------------
3 files changed, 254 deletions(-)
delete mode 100644 drivers/platform/surface/surface3_button.c
diff --git a/drivers/platform/surface/Kconfig b/drivers/platform/surface/Kconfig
index e5eedb85d471..d13cf8d63cc3 100644
--- a/drivers/platform/surface/Kconfig
+++ b/drivers/platform/surface/Kconfig
@@ -28,12 +28,6 @@ config SURFACE3_WMI
To compile this driver as a module, choose M here: the module will
be called surface3-wmi.
-config SURFACE_3_BUTTON
- tristate "Power/home/volume buttons driver for Microsoft Surface 3 tablet"
- depends on KEYBOARD_GPIO && I2C
- help
- This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet.
-
config SURFACE_3_POWER_OPREGION
tristate "Surface 3 battery platform operation region support"
depends on I2C
diff --git a/drivers/platform/surface/Makefile b/drivers/platform/surface/Makefile
index 9eb3a7e6382c..e4791b47f561 100644
--- a/drivers/platform/surface/Makefile
+++ b/drivers/platform/surface/Makefile
@@ -5,7 +5,6 @@
#
obj-$(CONFIG_SURFACE3_WMI) += surface3-wmi.o
-obj-$(CONFIG_SURFACE_3_BUTTON) += surface3_button.o
obj-$(CONFIG_SURFACE_3_POWER_OPREGION) += surface3_power.o
obj-$(CONFIG_SURFACE_ACPI_NOTIFY) += surface_acpi_notify.o
obj-$(CONFIG_SURFACE_AGGREGATOR) += aggregator/
diff --git a/drivers/platform/surface/surface3_button.c b/drivers/platform/surface/surface3_button.c
deleted file mode 100644
index 48d77e7aae76..000000000000
--- a/drivers/platform/surface/surface3_button.c
+++ /dev/null
@@ -1,247 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Supports for the button array on the Surface tablets.
- *
- * (C) Copyright 2016 Red Hat, Inc
- *
- * Based on soc_button_array.c:
- *
- * {C} Copyright 2014 Intel Corporation
- */
-
-#include <linux/module.h>
-#include <linux/input.h>
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/i2c.h>
-#include <linux/slab.h>
-#include <linux/acpi.h>
-#include <linux/gpio/consumer.h>
-#include <linux/gpio_keys.h>
-#include <linux/gpio.h>
-#include <linux/platform_device.h>
-
-
-#define SURFACE_BUTTON_OBJ_NAME "TEV2"
-#define MAX_NBUTTONS 4
-
-/*
- * Some of the buttons like volume up/down are auto repeat, while others
- * are not. To support both, we register two platform devices, and put
- * buttons into them based on whether the key should be auto repeat.
- */
-#define BUTTON_TYPES 2
-
-/*
- * Power button, Home button, Volume buttons support is supposed to
- * be covered by drivers/input/misc/soc_button_array.c, which is implemented
- * according to "Windows ACPI Design Guide for SoC Platforms".
- * However surface 3 seems not to obey the specs, instead it uses
- * device TEV2(MSHW0028) for declaring the GPIOs. The gpios are also slightly
- * different in which the Home button is active high.
- * Compared to surfacepro3_button.c which also handles MSHW0028, the Surface 3
- * is a reduce platform and thus uses GPIOs, not ACPI events.
- * We choose an I2C driver here because we need to access the resources
- * declared under the device node, while surfacepro3_button.c only needs
- * the ACPI companion node.
- */
-static const struct acpi_device_id surface3_acpi_match[] = {
- { "MSHW0028", 0 },
- { }
-};
-MODULE_DEVICE_TABLE(acpi, surface3_acpi_match);
-
-struct surface3_button_info {
- const char *name;
- int acpi_index;
- unsigned int event_type;
- unsigned int event_code;
- bool autorepeat;
- bool wakeup;
- bool active_low;
-};
-
-struct surface3_button_data {
- struct platform_device *children[BUTTON_TYPES];
-};
-
-/*
- * Get the Nth GPIO number from the ACPI object.
- */
-static int surface3_button_lookup_gpio(struct device *dev, int acpi_index)
-{
- struct gpio_desc *desc;
- int gpio;
-
- desc = gpiod_get_index(dev, NULL, acpi_index, GPIOD_ASIS);
- if (IS_ERR(desc))
- return PTR_ERR(desc);
-
- gpio = desc_to_gpio(desc);
-
- gpiod_put(desc);
-
- return gpio;
-}
-
-static struct platform_device *
-surface3_button_device_create(struct i2c_client *client,
- const struct surface3_button_info *button_info,
- bool autorepeat)
-{
- const struct surface3_button_info *info;
- struct platform_device *pd;
- struct gpio_keys_button *gpio_keys;
- struct gpio_keys_platform_data *gpio_keys_pdata;
- int n_buttons = 0;
- int gpio;
- int error;
-
- gpio_keys_pdata = devm_kzalloc(&client->dev,
- sizeof(*gpio_keys_pdata) +
- sizeof(*gpio_keys) * MAX_NBUTTONS,
- GFP_KERNEL);
- if (!gpio_keys_pdata)
- return ERR_PTR(-ENOMEM);
-
- gpio_keys = (void *)(gpio_keys_pdata + 1);
-
- for (info = button_info; info->name; info++) {
- if (info->autorepeat != autorepeat)
- continue;
-
- gpio = surface3_button_lookup_gpio(&client->dev,
- info->acpi_index);
- if (!gpio_is_valid(gpio))
- continue;
-
- gpio_keys[n_buttons].type = info->event_type;
- gpio_keys[n_buttons].code = info->event_code;
- gpio_keys[n_buttons].gpio = gpio;
- gpio_keys[n_buttons].active_low = info->active_low;
- gpio_keys[n_buttons].desc = info->name;
- gpio_keys[n_buttons].wakeup = info->wakeup;
- n_buttons++;
- }
-
- if (n_buttons == 0) {
- error = -ENODEV;
- goto err_free_mem;
- }
-
- gpio_keys_pdata->buttons = gpio_keys;
- gpio_keys_pdata->nbuttons = n_buttons;
- gpio_keys_pdata->rep = autorepeat;
-
- pd = platform_device_alloc("gpio-keys", PLATFORM_DEVID_AUTO);
- if (!pd) {
- error = -ENOMEM;
- goto err_free_mem;
- }
-
- error = platform_device_add_data(pd, gpio_keys_pdata,
- sizeof(*gpio_keys_pdata));
- if (error)
- goto err_free_pdev;
-
- error = platform_device_add(pd);
- if (error)
- goto err_free_pdev;
-
- return pd;
-
-err_free_pdev:
- platform_device_put(pd);
-err_free_mem:
- devm_kfree(&client->dev, gpio_keys_pdata);
- return ERR_PTR(error);
-}
-
-static int surface3_button_remove(struct i2c_client *client)
-{
- struct surface3_button_data *priv = i2c_get_clientdata(client);
-
- int i;
-
- for (i = 0; i < BUTTON_TYPES; i++)
- if (priv->children[i])
- platform_device_unregister(priv->children[i]);
-
- return 0;
-}
-
-static struct surface3_button_info surface3_button_surface3[] = {
- { "power", 0, EV_KEY, KEY_POWER, false, true, true },
- { "home", 1, EV_KEY, KEY_LEFTMETA, false, true, false },
- { "volume_up", 2, EV_KEY, KEY_VOLUMEUP, true, false, true },
- { "volume_down", 3, EV_KEY, KEY_VOLUMEDOWN, true, false, true },
- { }
-};
-
-static int surface3_button_probe(struct i2c_client *client,
- const struct i2c_device_id *id)
-{
- struct device *dev = &client->dev;
- struct surface3_button_data *priv;
- struct platform_device *pd;
- int i;
- int error;
-
- if (strncmp(acpi_device_bid(ACPI_COMPANION(&client->dev)),
- SURFACE_BUTTON_OBJ_NAME,
- strlen(SURFACE_BUTTON_OBJ_NAME)))
- return -ENODEV;
-
- error = gpiod_count(dev, NULL);
- if (error < 0) {
- dev_dbg(dev, "no GPIO attached, ignoring...\n");
- return error;
- }
-
- priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
- if (!priv)
- return -ENOMEM;
-
- i2c_set_clientdata(client, priv);
-
- for (i = 0; i < BUTTON_TYPES; i++) {
- pd = surface3_button_device_create(client,
- surface3_button_surface3,
- i == 0);
- if (IS_ERR(pd)) {
- error = PTR_ERR(pd);
- if (error != -ENODEV) {
- surface3_button_remove(client);
- return error;
- }
- continue;
- }
-
- priv->children[i] = pd;
- }
-
- if (!priv->children[0] && !priv->children[1])
- return -ENODEV;
-
- return 0;
-}
-
-static const struct i2c_device_id surface3_id[] = {
- { }
-};
-MODULE_DEVICE_TABLE(i2c, surface3_id);
-
-static struct i2c_driver surface3_driver = {
- .probe = surface3_button_probe,
- .remove = surface3_button_remove,
- .id_table = surface3_id,
- .driver = {
- .name = "surface3",
- .acpi_match_table = ACPI_PTR(surface3_acpi_match),
- },
-};
-module_i2c_driver(surface3_driver);
-
-MODULE_AUTHOR("Benjamin Tissoires <benjamin.tissoires@gmail.com>");
-MODULE_DESCRIPTION("surface3 button array driver");
-MODULE_LICENSE("GPL v2");
--
2.35.1

View file

@ -1,4 +1,4 @@
From 5c107958b27fd9dd178a6fafcf49d9479ed1a343 Mon Sep 17 00:00:00 2001
From 925b2b083ff92e4daeca8409d485dd90d339441c 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

View file

@ -1,4 +1,4 @@
From ad163dd69e7f7ac437bbdaf2f95c43223c0ca297 Mon Sep 17 00:00:00 2001
From 9fda64c569dc223a8814adb6db26706f365d0e6a Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Mon, 5 Apr 2021 23:56:53 +0100
Subject: [PATCH] media: ipu3-cio2: Toggle sensor streaming in pm runtime ops
@ -58,7 +58,7 @@ index 356ea966cf8d..76fd4e6e8e46 100644
--
2.35.1
From fd9d3f8706741c82bd0150186cc25a16686ad700 Mon Sep 17 00:00:00 2001
From 7ebe579479c936f06369a39b90e4a733fb69cfc0 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Mon, 5 Apr 2021 23:56:54 +0100
Subject: [PATCH] media: i2c: Add support for ov5693 sensor
@ -1701,7 +1701,7 @@ index 000000000000..9499ee10f56c
--
2.35.1
From 5d5e9ba6d1129453c3167128789c67015e7cba29 Mon Sep 17 00:00:00 2001
From acb977eddae163c3d7ade1a88275f48b471f1200 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Thu, 20 May 2021 23:31:04 +0100
Subject: [PATCH] media: i2c: Fix vertical flip in ov5693
@ -1736,7 +1736,7 @@ index 9499ee10f56c..c558f9b48c83 100644
--
2.35.1
From 35b529b6bad1ad1c1470bf19337887a0c7685144 Mon Sep 17 00:00:00 2001
From 263137c04cc7e96eb73e622f707933b47e5f299d Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Fri, 9 Jul 2021 16:39:18 +0100
Subject: [PATCH] media: i2c: Add ACPI support to ov8865
@ -1787,7 +1787,7 @@ index 92f6c3a940cf..15325df45c2b 100644
--
2.35.1
From d1f8a7b33e43d9fe6a8cb147282b406ba75dd906 Mon Sep 17 00:00:00 2001
From 67ed10d2f2767ad475f51713e600750eece90956 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Sat, 10 Jul 2021 21:20:17 +0100
Subject: [PATCH] media: i2c: Fix incorrect value in comment
@ -1818,7 +1818,7 @@ index 15325df45c2b..8dcdf29be25e 100644
--
2.35.1
From b3c629edb8ddd488d0d03947aa4daa0ea3ac87d1 Mon Sep 17 00:00:00 2001
From 3cfa646a7dbc0c5e4da59c61c0b56b801a7ec07a Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Sat, 10 Jul 2021 22:21:52 +0100
Subject: [PATCH] media: i2c: Defer probe if not endpoint found
@ -1855,7 +1855,7 @@ index 8dcdf29be25e..ceb9a93b043a 100644
--
2.35.1
From b77a3ecea33d448c23de7cb19b4f75eea5c159e7 Mon Sep 17 00:00:00 2001
From 7a0c0f9adb345d73e05e88b86460641632e0d96c Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Sat, 10 Jul 2021 22:00:25 +0100
Subject: [PATCH] media: i2c: Support 19.2MHz input clock in ov8865
@ -2214,7 +2214,7 @@ index ceb9a93b043a..9bac32efa7fa 100644
--
2.35.1
From 131be49b138da83f2699fc20c1cf7cafac3e3d9f Mon Sep 17 00:00:00 2001
From 3c415ec8efc3261008a5d13c493f9a2c4956f9d5 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Sat, 10 Jul 2021 22:19:10 +0100
Subject: [PATCH] media: i2c: Add .get_selection() support to ov8865
@ -2319,7 +2319,7 @@ index 9bac32efa7fa..d41ce6b5af55 100644
--
2.35.1
From 6d11d31eff470cf4e2b55ff7553eb1835b7225f8 Mon Sep 17 00:00:00 2001
From 528d16e6658ec372a928cf555ca44601e072a8d2 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Sat, 10 Jul 2021 22:34:43 +0100
Subject: [PATCH] media: i2c: Switch control to V4L2_CID_ANALOGUE_GAIN
@ -2372,7 +2372,7 @@ index d41ce6b5af55..07f34f3ae5ec 100644
--
2.35.1
From b69bb5fc9aa64025c6ce2277757d7fe211d624f4 Mon Sep 17 00:00:00 2001
From a0527359a1643412a6e52ac3dd7da68512d004b1 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Mon, 12 Jul 2021 22:54:56 +0100
Subject: [PATCH] media: i2c: Add vblank control to ov8865
@ -2482,7 +2482,7 @@ index 07f34f3ae5ec..95c1b97eb89a 100644
--
2.35.1
From 1f229909617d084b21a59c9b23ad27b6150e032f Mon Sep 17 00:00:00 2001
From 9dd5617c04fceb8e3a5e80fbb82319ff192fa427 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Tue, 13 Jul 2021 23:40:33 +0100
Subject: [PATCH] media: i2c: Add hblank control to ov8865
@ -2552,7 +2552,7 @@ index 95c1b97eb89a..85a76aea67a5 100644
--
2.35.1
From 6c446a8d4353f2cf6f07c8d39dfd4dee0cb658cd Mon Sep 17 00:00:00 2001
From 88e5ad92669570378e12c16381c0cff6dc6cc099 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Wed, 20 Oct 2021 22:43:54 +0100
Subject: [PATCH] media: i2c: Update HTS values in ov8865
@ -2728,7 +2728,7 @@ index 85a76aea67a5..7f5b0c48eac4 100644
--
2.35.1
From ee4ab4a801599c3e38c2f4c62f0e8422495f98a6 Mon Sep 17 00:00:00 2001
From 1bb106d52f3ee86f28ada81146309f571cc1cb81 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Tue, 13 Jul 2021 23:43:17 +0100
Subject: [PATCH] media: i2c: cap exposure at height + vblank in ov8865
@ -2811,7 +2811,7 @@ index 7f5b0c48eac4..d867676bf77e 100644
--
2.35.1
From 5b50e7af05095ac8f68cc569ff5552812866e2f6 Mon Sep 17 00:00:00 2001
From 384f0675a022c81cd1fc1bdf3123b3d42198c041 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Fri, 16 Jul 2021 22:56:15 +0100
Subject: [PATCH] media: i2c: Add controls from fwnode to ov8865
@ -2856,7 +2856,7 @@ index d867676bf77e..d0303016e7b4 100644
--
2.35.1
From 16fce03417a2b26c94c62ce000965bd4c1f4f8c0 Mon Sep 17 00:00:00 2001
From cb171e4ec467539921fe6f39f0bf8e556f23d2eb Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Fri, 16 Jul 2021 00:00:54 +0100
Subject: [PATCH] media: i2c: Switch exposure control unit to lines
@ -2903,7 +2903,7 @@ index d0303016e7b4..a638e53bb069 100644
--
2.35.1
From f88185cfae2d870681a4eb976daca85eefe81594 Mon Sep 17 00:00:00 2001
From e52641c9df9a53209060750d900e25fff9908ae5 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Tue, 24 Aug 2021 23:17:39 +0100
Subject: [PATCH] media: i2c: Use dev_err_probe() in ov8865
@ -2986,7 +2986,7 @@ index a638e53bb069..5ef9c407362a 100644
--
2.35.1
From 8443eac2af99342df63b9d32af539da4c5ecdf71 Mon Sep 17 00:00:00 2001
From 4d108ed0252bedba3d5191795f71fc6e6dbb36fc Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Wed, 14 Jul 2021 00:05:04 +0100
Subject: [PATCH] media: ipu3-cio2: Add INT347A to cio2-bridge
@ -3019,7 +3019,7 @@ index 0b586b4e537e..4550be801311 100644
--
2.35.1
From 948d1abf3fcc10c46c29dc8c981125c222e59f2c Mon Sep 17 00:00:00 2001
From 12a19e2ca3b6b7b051aef0df0705868e5f8ba880 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 10 Oct 2021 20:56:57 +0200
Subject: [PATCH] ACPI: delay enumeration of devices with a _DEP pointing to an
@ -3080,7 +3080,7 @@ Patchset: cameras
2 files changed, 38 insertions(+), 3 deletions(-)
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 25d9f04f1995..0ba60b3338fe 100644
index 608e83f07b48..ca33437def41 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -797,6 +797,12 @@ static const char * const acpi_ignore_dep_ids[] = {
@ -3096,7 +3096,7 @@ index 25d9f04f1995..0ba60b3338fe 100644
static struct acpi_device *acpi_bus_get_parent(acpi_handle handle)
{
struct acpi_device *device = NULL;
@@ -1769,8 +1775,12 @@ static void acpi_scan_dep_init(struct acpi_device *adev)
@@ -1774,8 +1780,12 @@ static void acpi_scan_dep_init(struct acpi_device *adev)
struct acpi_dep_data *dep;
list_for_each_entry(dep, &acpi_dep_list, node) {
@ -3110,7 +3110,7 @@ index 25d9f04f1995..0ba60b3338fe 100644
}
}
@@ -1974,7 +1984,7 @@ static u32 acpi_scan_check_dep(acpi_handle handle, bool check_dep)
@@ -1979,7 +1989,7 @@ static u32 acpi_scan_check_dep(acpi_handle handle, bool check_dep)
for (count = 0, i = 0; i < dep_devices.count; i++) {
struct acpi_device_info *info;
struct acpi_dep_data *dep;
@ -3119,7 +3119,7 @@ index 25d9f04f1995..0ba60b3338fe 100644
status = acpi_get_object_info(dep_devices.handles[i], &info);
if (ACPI_FAILURE(status)) {
@@ -1983,6 +1993,7 @@ static u32 acpi_scan_check_dep(acpi_handle handle, bool check_dep)
@@ -1988,6 +1998,7 @@ static u32 acpi_scan_check_dep(acpi_handle handle, bool check_dep)
}
skip = acpi_info_matches_ids(info, acpi_ignore_dep_ids);
@ -3127,7 +3127,7 @@ index 25d9f04f1995..0ba60b3338fe 100644
kfree(info);
if (skip)
@@ -1996,6 +2007,7 @@ static u32 acpi_scan_check_dep(acpi_handle handle, bool check_dep)
@@ -2001,6 +2012,7 @@ static u32 acpi_scan_check_dep(acpi_handle handle, bool check_dep)
dep->supplier = dep_devices.handles[i];
dep->consumer = handle;
@ -3135,7 +3135,7 @@ index 25d9f04f1995..0ba60b3338fe 100644
mutex_lock(&acpi_dep_list_lock);
list_add_tail(&dep->node , &acpi_dep_list);
@@ -2083,6 +2095,9 @@ static acpi_status acpi_bus_check_add_2(acpi_handle handle, u32 lvl_not_used,
@@ -2088,6 +2100,9 @@ static acpi_status acpi_bus_check_add_2(acpi_handle handle, u32 lvl_not_used,
static void acpi_default_enumeration(struct acpi_device *device)
{
@ -3145,7 +3145,7 @@ index 25d9f04f1995..0ba60b3338fe 100644
/*
* Do not enumerate devices with enumeration_by_parent flag set as
* they will be enumerated by their respective parents.
@@ -2325,6 +2340,23 @@ void acpi_dev_clear_dependencies(struct acpi_device *supplier)
@@ -2330,6 +2345,23 @@ void acpi_dev_clear_dependencies(struct acpi_device *supplier)
}
EXPORT_SYMBOL_GPL(acpi_dev_clear_dependencies);
@ -3202,7 +3202,7 @@ index d6fe27b695c3..5895f6c7f6db 100644
--
2.35.1
From 0f26b5444078d3cc8f0defa3dd8912feecd33ac0 Mon Sep 17 00:00:00 2001
From c7cf26d31ba9c379ab52b76a4c0b99f378149282 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 10 Oct 2021 20:56:58 +0200
Subject: [PATCH] i2c: acpi: Use acpi_dev_ready_for_enumeration() helper
@ -3254,7 +3254,7 @@ index 3b688cea8e00..0542d8aba902 100644
--
2.35.1
From a924268b0c1d64b131f196ab4cbfc6a514ffe750 Mon Sep 17 00:00:00 2001
From b79236b933854bb2237a505137ad3cd50b957861 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 10 Oct 2021 20:56:59 +0200
Subject: [PATCH] platform_data: Add linux/platform_data/tps68470.h file
@ -3327,7 +3327,7 @@ index 000000000000..126d082c3f2e
--
2.35.1
From e62a6f1fdd3e3328124a1ed91933db26a19d4b97 Mon Sep 17 00:00:00 2001
From 15789a7cdd7cb42fc0e468a388739bca4bc6f261 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 10 Oct 2021 20:57:00 +0200
Subject: [PATCH] regulator: Introduce tps68470-regulator driver
@ -3589,7 +3589,7 @@ index 000000000000..3129fa13a122
--
2.35.1
From bdd310dbe35752818740dd144fd5c5cea5ea7d65 Mon Sep 17 00:00:00 2001
From 1a387763822f2fa36a65b5711a8f5eed2e8a316a Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 10 Oct 2021 20:57:01 +0200
Subject: [PATCH] clk: Introduce clk-tps68470 driver
@ -3934,7 +3934,7 @@ index ffe81127d91c..7807fa329db0 100644
--
2.35.1
From 7e408a6e3ab749ff54e5a317471e798a6550da81 Mon Sep 17 00:00:00 2001
From 0439a9d0261fcb40aaae89cff9c9bc15833a9356 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Sun, 10 Oct 2021 20:57:02 +0200
Subject: [PATCH] platform/x86: int3472: Enable I2c daisy chain
@ -3971,7 +3971,7 @@ index c05b4cf502fe..42e688f4cad4 100644
--
2.35.1
From 127483c7bf16e5bfabda1ef21a9df63a79f03b23 Mon Sep 17 00:00:00 2001
From e8d35a1f3f79d8accbd5b59a8d1af9c2fcb9d7bf Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 10 Oct 2021 20:57:03 +0200
Subject: [PATCH] platform/x86: int3472: Split into 2 drivers
@ -4230,7 +4230,7 @@ index 42e688f4cad4..b94cf66ab61f 100644
--
2.35.1
From 4b1748be137eb2ebc5233a292bf603834e5da499 Mon Sep 17 00:00:00 2001
From 75d9f3eb4507722d65bc650a5a91e239c2f5c855 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 10 Oct 2021 20:57:04 +0200
Subject: [PATCH] platform/x86: int3472: Add get_sensor_adev_and_name() helper
@ -4343,7 +4343,7 @@ index a19a1f5dbdd7..efd31a0c7a88 100644
--
2.35.1
From 7f3f98ee521fe6817bebe14ab6f8aace8b5175dd Mon Sep 17 00:00:00 2001
From a5581c696485f4f173be9441467683071e253992 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 10 Oct 2021 20:57:05 +0200
Subject: [PATCH] platform/x86: int3472: Pass tps68470_clk_platform_data to the
@ -4431,7 +4431,7 @@ index b94cf66ab61f..78e34e7b6969 100644
--
2.35.1
From 29f381e0610f60a478386cf812e78d628038b79a Mon Sep 17 00:00:00 2001
From 330d40c102dbae6c69d5a2c8fe43c82ad64ab2ea Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 10 Oct 2021 20:57:06 +0200
Subject: [PATCH] platform/x86: int3472: Pass tps68470_regulator_platform_data
@ -4725,7 +4725,7 @@ index 000000000000..96954a789bb8
--
2.35.1
From 971a45456d79b8ff8f7eddbb81852aed26ab3059 Mon Sep 17 00:00:00 2001
From 8819eb3821383ca94ed437482b4a0a8948059aac Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 10 Oct 2021 20:57:07 +0200
Subject: [PATCH] platform/x86: int3472: Deal with probe ordering issues
@ -4809,7 +4809,7 @@ index aae24d228770..21c6c1a6edfc 100644
--
2.35.1
From e87a4cb804a0c618706b9277b0903ca0f0609c34 Mon Sep 17 00:00:00 2001
From f350fb49c2c161b84749de1616bc5f9920498fab Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Thu, 4 Nov 2021 21:46:27 +0000
Subject: [PATCH] media: i2c: Add integration time margin to ov8865
@ -4851,7 +4851,7 @@ index 5ef9c407362a..ed038efbc084 100644
--
2.35.1
From c1168a14e36309c4cb6421cb33ba7e44a86c941a Mon Sep 17 00:00:00 2001
From c4f4399853e59f5a45a966a5050d3e0b7fb3ca59 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Thu, 4 Nov 2021 21:48:38 +0000
Subject: [PATCH] media: i2c: Fix max gain in ov8865
@ -4883,7 +4883,7 @@ index ed038efbc084..5bedcddafe36 100644
--
2.35.1
From a7562d92639c8f7f392cb404a0aecb9ad669b670 Mon Sep 17 00:00:00 2001
From 6cdb87654ac0799d48fb898c8cb3c2b0588eb7db Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Fri, 3 Dec 2021 12:51:08 +0100
Subject: [PATCH] mfd: intel-lpss: Fix I2C4 not being available on the
@ -4988,7 +4988,7 @@ index 22dbc4aed793..062ce95b68b9 100644
--
2.35.1
From 0fb2088a6ba9d3e1faae7ac54a950780a9a81a88 Mon Sep 17 00:00:00 2001
From 04c3a5157515014827e20d1afa69919a7323f9fd Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Thu, 6 Jan 2022 22:12:38 +0000
Subject: [PATCH] platform/x86: int3472: Add board data for Surface Go 3

View file

@ -1,4 +1,4 @@
From e47a7cddd4cf212488297e63a987a291e21f1698 Mon Sep 17 00:00:00 2001
From dd56f00c6ba9515f9923a1af83792d1c1cfac309 Mon Sep 17 00:00:00 2001
From: Sachi King <nakato@nakato.io>
Date: Sat, 29 May 2021 17:47:38 +1000
Subject: [PATCH] ACPI: Add quirk for Surface Laptop 4 AMD missing irq 7
@ -65,7 +65,7 @@ index 5b6d1a95776f..0a05e196419a 100644
--
2.35.1
From 803e5020ba8726279e66ab00def703e543c9286a Mon Sep 17 00:00:00 2001
From 608ab2165b79e0c02fc30f4d691da8cd4da8ad8c Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Thu, 3 Jun 2021 14:04:26 +0200
Subject: [PATCH] ACPI: Add AMD 13" Surface Laptop 4 model to irq 7 override

View file

@ -1,4 +1,4 @@
From b1dd33eeee04cde179bdf779912504cf8f645877 Mon Sep 17 00:00:00 2001
From 26338be871ace1f30bdc15b6664327e9ccdcb66b Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Wed, 8 Dec 2021 16:22:50 +0100
Subject: [PATCH] acpi/battery: Add device HID and quirk for Microsoft Surface
@ -51,7 +51,7 @@ index ead0114f27c9..56db7b4da514 100644
--
2.35.1
From a20b4e65fde16e0b3f397a8e294a3855bfff0cad Mon Sep 17 00:00:00 2001
From 8478d4f8fac3741896c52d2091b8ac81a719d17c Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Tue, 8 Feb 2022 01:29:48 +0100
Subject: [PATCH] ACPI: battery: Add "Not Charging" quirk for Microsoft Surface
@ -109,62 +109,3 @@ index 56db7b4da514..8edaa3020af3 100644
--
2.35.1
From 63858e3816f00b90bd2fcd27c589e03a3298a1f6 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Thu, 24 Feb 2022 11:18:48 +0100
Subject: [PATCH] surface: surface3_power: Fix battery readings on batteries
without a serial number
The battery on the 2nd hand Surface 3 which I recently bought appears to
not have a serial number programmed in. This results in any I2C reads from
the registers containing the serial number failing with an I2C NACK.
This was causing mshw0011_bix() to fail causing the battery readings to
not work at all.
Ignore EREMOTEIO (I2C NACK) errors when retrieving the serial number and
continue with an empty serial number to fix this.
Fixes: b1f81b496b0d ("platform/x86: surface3_power: MSHW0011 rev-eng implementation")
BugLink: https://github.com/linux-surface/linux-surface/issues/608
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20220224101848.7219-1-hdegoede@redhat.com
Patchset: misc-fixes
---
drivers/platform/surface/surface3_power.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/platform/surface/surface3_power.c b/drivers/platform/surface/surface3_power.c
index abac3eec565e..444ec81ba02d 100644
--- a/drivers/platform/surface/surface3_power.c
+++ b/drivers/platform/surface/surface3_power.c
@@ -232,14 +232,21 @@ static int mshw0011_bix(struct mshw0011_data *cdata, struct bix *bix)
}
bix->last_full_charg_capacity = ret;
- /* get serial number */
+ /*
+ * Get serial number, on some devices (with unofficial replacement
+ * battery?) reading any of the serial number range addresses gets
+ * nacked in this case just leave the serial number empty.
+ */
ret = i2c_smbus_read_i2c_block_data(client, MSHW0011_BAT0_REG_SERIAL_NO,
sizeof(buf), buf);
- if (ret != sizeof(buf)) {
+ if (ret == -EREMOTEIO) {
+ /* no serial number available */
+ } else if (ret != sizeof(buf)) {
dev_err(&client->dev, "Error reading serial no: %d\n", ret);
return ret;
+ } else {
+ snprintf(bix->serial, ARRAY_SIZE(bix->serial), "%3pE%6pE", buf + 7, buf);
}
- snprintf(bix->serial, ARRAY_SIZE(bix->serial), "%3pE%6pE", buf + 7, buf);
/* get cycle count */
ret = i2c_smbus_read_word_data(client, MSHW0011_BAT0_REG_CYCLE_CNT);
--
2.35.1

View file

@ -51,18 +51,18 @@ sha256sums=('SKIP'
'a7e88715c86f2ea77e80cb0535d827406676cb8227a9367dd98931f511b06f31'
'63e0aa01e590c789a2a312f48cdc467b29734465cdf87e206b7a7e0f82e22bc4'
'b30cd71018df7e98101ba0cf37054169006b096d2870a9f8467dd96378b02b98'
'238c131a0e2078f8168566ab91acdc8a45dbfa573957d69d8102a41161421d15'
'79f8133803f6fd4e6166afaae35a3c6ed9323daf3cb6f81c7624abc205569186'
'a14a041b886d0d0500312a162401c936bcd60f973e6279a7c2d940a8351c248b'
'077d7742d6ebcaf337b64d30b933c4c1144538b61030ec60314431ec70946f10'
'cffc53def40deda2f1ad0fefb517876d3bd35522299752e2242bc9017f799792'
'f8fa489d913ad9027cb982da6d3ae8365b478e1896c7ccc8c8d21c60ac00f07d'
'ac37ca3ff9511a304ad57dc0995b0284321b2bfdef486d2749662acd001f6913'
'90143b0c2d66e1cc969592d6dc3cbb2e30710e3f35df7553cefad9b0d99f7dbb'
'4d30bac8143e3f8f9e502e0ffa7a605ffddab867ece091f8da4da99ee3c26b09'
'027f97914a5e51ca9f13d24f092e287c960e450152d7510e3d85c8e69559702f'
'6f455404ebe69dec0ff002c57d08235a92f44fcb0a31e99aabd2e478fff1abe3'
'bc6c70e14335bc604ad4576a33246c52b1eff4f40ec1393b6e873acfad78d027')
'623a3943e989c0f5ad5418abb36ad109309b4f2b561b44baca8a4e81ad6d88eb'
'a7790c4ceee94250f1885b42954ac69370c786384956c6d1431b9af78d8b0421'
'c0794149dbc5926e52ea1b9aba9fe63f2c20a5f8eae922d92ad6c7e0d901b44a'
'b0a4ad79811e6853fc1a50bafd9755d6e9daf3701289b00c81e2acf85161dfb9'
'9d352fa5513d0f352f03ba9b623a3ed48bb08168345704d41193825d105567cd'
'8a6a96058bec3aa19f4568bc2ecd5cd42f6ce8525ce6afd8cf6da9af3a0ceaea'
'0850b800653ba9f76b44335b8cd5d07306090470b4f3e72c7cf0353cd8b0bcf3'
'641da093538f8b676a672c08a88ec90506da2c848bf748ea469e015b367c18a8'
'5265cc9a6bf9e993aae3ff5beace3c619a8789ba1bce2d26596268186d98ef80'
'714e39a50578360d375b906e88c05fccb5db34d3c77e2eb3395116e28329af4e'
'447ac86f07b9138605b721fe8e5c7d26d396c9449ad55908e3802c94d1a7f709'
'eb441889f5a981667cca2b0caf82f2151e857397e66a7d2271537609fbf34273')
export KBUILD_BUILD_HOST=archlinux