From bd84bc7b23f5c2748dce6ffe7f53fb9b0fb20d29 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Fri, 11 Mar 2022 01:59:21 +0100 Subject: [PATCH] Update v5.16 patches Changes: - Rebase onto v5.16.13 Links: - kernel: https://github.com/linux-surface/kernel/commit/92ddcc5b6678a081406bf9c773c7e359fbe83b75 --- patches/5.16/0001-surface3-oemb.patch | 2 +- patches/5.16/0002-mwifiex.patch | 16 +- patches/5.16/0003-ath10k.patch | 2 +- patches/5.16/0004-ipts.patch | 4 +- patches/5.16/0005-surface-sam.patch | 28 +- patches/5.16/0006-surface-sam-over-hid.patch | 4 +- patches/5.16/0007-surface-gpe.patch | 2 +- patches/5.16/0008-surface-button.patch | 412 ++++++++++++++++++- patches/5.16/0009-surface-typecover.patch | 2 +- patches/5.16/0010-cameras.patch | 78 ++-- patches/5.16/0011-amd-gpio.patch | 4 +- patches/5.16/0012-misc-fixes.patch | 63 +-- pkg/arch/kernel/PKGBUILD | 24 +- 13 files changed, 495 insertions(+), 146 deletions(-) diff --git a/patches/5.16/0001-surface3-oemb.patch b/patches/5.16/0001-surface3-oemb.patch index 216d54827..cfed1a1e1 100644 --- a/patches/5.16/0001-surface3-oemb.patch +++ b/patches/5.16/0001-surface3-oemb.patch @@ -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 Date: Sun, 18 Oct 2020 16:42:44 +0900 Subject: [PATCH] (surface3-oemb) add DMI matches for Surface 3 with broken DMI diff --git a/patches/5.16/0002-mwifiex.patch b/patches/5.16/0002-mwifiex.patch index c08fbafea..5df8886dd 100644 --- a/patches/5.16/0002-mwifiex.patch +++ b/patches/5.16/0002-mwifiex.patch @@ -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 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 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 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?= 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?= 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?= 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?= 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?= Date: Tue, 13 Apr 2021 12:57:41 +0200 Subject: [PATCH] mwifiex: Ignore BTCOEX events from the firmware diff --git a/patches/5.16/0003-ath10k.patch b/patches/5.16/0003-ath10k.patch index d592c7f55..a6a367831 100644 --- a/patches/5.16/0003-ath10k.patch +++ b/patches/5.16/0003-ath10k.patch @@ -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 Date: Sat, 27 Feb 2021 00:45:52 +0100 Subject: [PATCH] ath10k: Add module parameters to override board files diff --git a/patches/5.16/0004-ipts.patch b/patches/5.16/0004-ipts.patch index 60425a6b0..e4b4c6de4 100644 --- a/patches/5.16/0004-ipts.patch +++ b/patches/5.16/0004-ipts.patch @@ -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 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 Date: Thu, 6 Aug 2020 11:20:41 +0200 Subject: [PATCH] misc: Add support for Intel Precise Touch & Stylus diff --git a/patches/5.16/0005-surface-sam.patch b/patches/5.16/0005-surface-sam.patch index 911bce4f5..46e4b05bd 100644 --- a/patches/5.16/0005-surface-sam.patch +++ b/patches/5.16/0005-surface-sam.patch @@ -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 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 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 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 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 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 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 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 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 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 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 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 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 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 Date: Wed, 27 Oct 2021 22:33:03 +0200 Subject: [PATCH] platform/surface: aggregator_registry: Add support for tablet diff --git a/patches/5.16/0006-surface-sam-over-hid.patch b/patches/5.16/0006-surface-sam-over-hid.patch index 81894195d..0df69d6c8 100644 --- a/patches/5.16/0006-surface-sam-over-hid.patch +++ b/patches/5.16/0006-surface-sam-over-hid.patch @@ -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 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 Date: Sat, 13 Feb 2021 16:41:18 +0100 Subject: [PATCH] platform/surface: Add driver for Surface Book 1 dGPU switch diff --git a/patches/5.16/0007-surface-gpe.patch b/patches/5.16/0007-surface-gpe.patch index d06e7f695..68c92628e 100644 --- a/patches/5.16/0007-surface-gpe.patch +++ b/patches/5.16/0007-surface-gpe.patch @@ -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 Date: Wed, 27 Oct 2021 00:56:11 +0200 Subject: [PATCH] platform/surface: gpe: Add support for Surface Pro 8 diff --git a/patches/5.16/0008-surface-button.patch b/patches/5.16/0008-surface-button.patch index 16a2e8013..06ca12ad9 100644 --- a/patches/5.16/0008-surface-button.patch +++ b/patches/5.16/0008-surface-button.patch @@ -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 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 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 +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 +Reviewed-by: Maximilian Luz +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 +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 +Reviewed-by: Maximilian Luz +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 +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +- +-#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 "); +-MODULE_DESCRIPTION("surface3 button array driver"); +-MODULE_LICENSE("GPL v2"); +-- +2.35.1 + diff --git a/patches/5.16/0009-surface-typecover.patch b/patches/5.16/0009-surface-typecover.patch index 0200f79e6..b09a907fb 100644 --- a/patches/5.16/0009-surface-typecover.patch +++ b/patches/5.16/0009-surface-typecover.patch @@ -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?= Date: Thu, 5 Nov 2020 13:09:45 +0100 Subject: [PATCH] hid/multitouch: Turn off Type Cover keyboard backlight when diff --git a/patches/5.16/0010-cameras.patch b/patches/5.16/0010-cameras.patch index b2d53b3eb..290192887 100644 --- a/patches/5.16/0010-cameras.patch +++ b/patches/5.16/0010-cameras.patch @@ -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Date: Thu, 6 Jan 2022 22:12:38 +0000 Subject: [PATCH] platform/x86: int3472: Add board data for Surface Go 3 diff --git a/patches/5.16/0011-amd-gpio.patch b/patches/5.16/0011-amd-gpio.patch index 72597f6f9..2a810068f 100644 --- a/patches/5.16/0011-amd-gpio.patch +++ b/patches/5.16/0011-amd-gpio.patch @@ -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 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 Date: Thu, 3 Jun 2021 14:04:26 +0200 Subject: [PATCH] ACPI: Add AMD 13" Surface Laptop 4 model to irq 7 override diff --git a/patches/5.16/0012-misc-fixes.patch b/patches/5.16/0012-misc-fixes.patch index 3e7013db1..a3f58f9b0 100644 --- a/patches/5.16/0012-misc-fixes.patch +++ b/patches/5.16/0012-misc-fixes.patch @@ -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 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 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 -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 -Reviewed-by: Maximilian Luz -Signed-off-by: Hans de Goede -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 - diff --git a/pkg/arch/kernel/PKGBUILD b/pkg/arch/kernel/PKGBUILD index c9a7ec44d..07275259e 100644 --- a/pkg/arch/kernel/PKGBUILD +++ b/pkg/arch/kernel/PKGBUILD @@ -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