Update v4.19 patches
Changes: - SAM: - Remove explicit dGPU power-setting code and rely on (patched) PCI/PM core instead for automatic and proper power management. See [1] and [2] for details. - Minor fixes. - GPE: - Add copyright notice Links: - SAM:e6338f7b04
- GPE:245c264504
- kernel:69ddd7cbb4
[1]4138dabe85
[2] https://github.com/linux-surface/surface-aggregator-module/wiki/Discrete-GPU
This commit is contained in:
parent
c7522f3cef
commit
4383b106db
|
@ -7,7 +7,6 @@ CONFIG_INTEL_IPTS_SURFACE=m
|
|||
#
|
||||
# Surface Aggregator Module
|
||||
#
|
||||
CONFIG_GPIO_SYSFS=y # required for SURFACE_HOTPLUG
|
||||
CONFIG_SURFACE_AGGREGATOR=m
|
||||
CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION=n
|
||||
CONFIG_SURFACE_AGGREGATOR_BUS=y
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 7712e7c7b39ac4af2c8d4d5a9a22ecc0d5a25077 Mon Sep 17 00:00:00 2001
|
||||
From 499a3fc8d3eaecb325078e20ab9af8ae3db9869e Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Date: Sat, 28 Sep 2019 18:00:43 +0200
|
||||
Subject: [PATCH] platform/x86: Surface 3 battery platform operation region
|
||||
|
@ -653,5 +653,5 @@ index 000000000000..e0af01a60302
|
|||
+MODULE_DESCRIPTION("mshw0011 driver");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 6893037808c47ada1b0bf8705ebe7f60dfd600b0 Mon Sep 17 00:00:00 2001
|
||||
From 9e03012c9a960d8874b0e73715ea5e874423f1a5 Mon Sep 17 00:00:00 2001
|
||||
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
||||
Date: Sun, 5 Jul 2020 14:56:20 +0300
|
||||
Subject: [PATCH] dmaengine: dw: Initialize channel before each transfer
|
||||
|
@ -85,5 +85,5 @@ index 055d83b6cb68..acf64302a2b2 100644
|
|||
channel_clear_bit(dw, MASK.XFER, dwc->mask);
|
||||
channel_clear_bit(dw, MASK.BLOCK, dwc->mask);
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From bbc85da670e31aa65b92bead468c33f5d50ff55b Mon Sep 17 00:00:00 2001
|
||||
From 003010b5d9a3b27eaa95cc14c330173060b14c07 Mon Sep 17 00:00:00 2001
|
||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||
Date: Sun, 18 Oct 2020 16:42:44 +0900
|
||||
Subject: [PATCH] (surface3-oemb) add DMI matches for Surface 3 with broken DMI
|
||||
|
@ -97,5 +97,5 @@ index 91bb99b69601..8418938b32ad 100644
|
|||
};
|
||||
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From f6d0899d982873dad26c280ebc52be5470556b30 Mon Sep 17 00:00:00 2001
|
||||
From 70d1cb3eb11fe9b78fa193570d037428b6dec4ea Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Date: Sat, 27 Jul 2019 17:51:37 +0200
|
||||
Subject: [PATCH] platform/x86: surfacepro3_button: Fix device check
|
||||
|
@ -90,9 +90,9 @@ index 1b491690ce07..96627627060e 100644
|
|||
if (!button)
|
||||
return -ENOMEM;
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From a8202a8b7e876c56055d62ab2dea519af0071297 Mon Sep 17 00:00:00 2001
|
||||
From 8fc9430c6f015abdc2bfb99606268741260e4ce7 Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Date: Sat, 27 Jul 2019 17:52:01 +0200
|
||||
Subject: [PATCH] Input: soc_button_array - Add support for newer surface
|
||||
|
@ -295,9 +295,9 @@ index 55cd6e0b409c..8f21c062c85d 100644
|
|||
};
|
||||
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From 0f703888a68cbdbd9bafae8b601a7180c8126eb8 Mon Sep 17 00:00:00 2001
|
||||
From 1b07afa7a3f18c5f9dba5e75d699041b712bd879 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoide@redhat.com>
|
||||
Date: Sat, 5 Oct 2019 14:11:58 +0200
|
||||
Subject: [PATCH] Input: soc_button_array - partial revert of support for newer
|
||||
|
@ -384,9 +384,9 @@ index 8f21c062c85d..5983733d78dd 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From 38ad6b1492e4126a664f6247bd7dc8ee87a10c76 Mon Sep 17 00:00:00 2001
|
||||
From 266031a4c24c8d9b91774c80fb8e98cb9dacda54 Mon Sep 17 00:00:00 2001
|
||||
From: "Tsuchiya Yuto (kitakar5525)" <kitakar@gmail.com>
|
||||
Date: Mon, 11 May 2020 17:40:21 +0900
|
||||
Subject: [PATCH] Input: soc_button_array - fix Wdiscarded-qualifiers for
|
||||
|
@ -436,5 +436,5 @@ index 5983733d78dd..c564ea99f47d 100644
|
|||
return 0;
|
||||
}
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 8273cec8ad42f5a6d2349347878331069c296f07 Mon Sep 17 00:00:00 2001
|
||||
From cacf4579399486621367171238a82ec6df64bf16 Mon Sep 17 00:00:00 2001
|
||||
From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
|
||||
Date: Sat, 28 Sep 2019 17:48:21 +0200
|
||||
Subject: [PATCH] nvme: Backport changes for suspend
|
||||
|
@ -330,5 +330,5 @@ index 2fda9893962d..ec6c48ecd7d5 100644
|
|||
|
||||
#ifdef CONFIG_PCIEAER
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 067c4fbb383132758816350e07d5003b48d14fda Mon Sep 17 00:00:00 2001
|
||||
From cc37e06fbfa6b8e97b2059865fc328a983e9c0b2 Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Date: Sat, 28 Sep 2019 17:58:17 +0200
|
||||
Subject: [PATCH] Add support for Intel IPTS touch devices
|
||||
|
@ -7310,5 +7310,5 @@ index 000000000000..f229a3436851
|
|||
+
|
||||
+#endif // IPTS_H
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 80f7516fb978e63b6a7e04db4e774d5496071509 Mon Sep 17 00:00:00 2001
|
||||
From 06f303aa916cda090b16dc65f3e0619ae1d1f9f1 Mon Sep 17 00:00:00 2001
|
||||
From: Chuhong Yuan <hslester96@gmail.com>
|
||||
Date: Wed, 24 Jul 2019 19:27:45 +0800
|
||||
Subject: [PATCH] mwifiex: pcie: Use dev_get_drvdata
|
||||
|
@ -47,9 +47,9 @@ index 991b9cc18000..2aa0436d3548 100644
|
|||
if (!card->adapter) {
|
||||
dev_err(dev, "adapter structure is not valid\n");
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From ed5d12e11559f0340ea3e73283a33ddb0b410e4c Mon Sep 17 00:00:00 2001
|
||||
From 2b3f03f528381d8efdb83d43f4d9d295dcc09f1b Mon Sep 17 00:00:00 2001
|
||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||
Date: Thu, 24 Sep 2020 18:02:06 +0900
|
||||
Subject: [PATCH] mwifiex: pcie: skip cancel_work_sync() on reset failure path
|
||||
|
@ -204,9 +204,9 @@ index f7ce9b6db6b4..72d0c01ff359 100644
|
|||
|
||||
static inline int
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From 45ddc398a7d6afa875840ab9f4fb920da3b3eb0f Mon Sep 17 00:00:00 2001
|
||||
From 14e3a0b204c5a998b5b0873757c551e934411069 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
|
||||
|
@ -412,9 +412,9 @@ index 000000000000..5326ae7e5671
|
|||
+
|
||||
+void mwifiex_initialize_quirks(struct pcie_service_card *card);
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From 73c434f78849f6483b76719748abef519a20faa7 Mon Sep 17 00:00:00 2001
|
||||
From c2f0354a1f66c24ce1d7cba579601a3a677dcad3 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+
|
||||
|
@ -613,9 +613,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.28.0
|
||||
2.29.2
|
||||
|
||||
From 68d4b66ab18907af945a39efb8bd02666edf073b Mon Sep 17 00:00:00 2001
|
||||
From 334cc2d7ef55aefc664a1652a10b07ca3892a9e6 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
|
||||
|
@ -792,9 +792,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.28.0
|
||||
2.29.2
|
||||
|
||||
From 570dab9301a4f95fc96f635b3d58d55a39ba2fcf Mon Sep 17 00:00:00 2001
|
||||
From 1bacc3349013e74daeda5ffd9b79eaf8d1767784 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
|
||||
|
@ -854,9 +854,9 @@ index f0a6fa0a7ae5..34dcd84f02a6 100644
|
|||
.ident = "Surface Pro 3",
|
||||
.matches = {
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From 34c2ccb41cddec7c3346d11808008d2c00897c8d Mon Sep 17 00:00:00 2001
|
||||
From d6938cf12fc888775a98a17f3a6621e9250ee45e Mon Sep 17 00:00:00 2001
|
||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||
Date: Thu, 24 Sep 2020 01:56:29 +0900
|
||||
Subject: [PATCH] mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
|
||||
|
@ -931,9 +931,9 @@ index e48b47f42554..ceac611ef086 100644
|
|||
|
||||
if (adapter->if_ops.down_dev)
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From 2c363d783f3605142464fa5049101a76b01df40d Mon Sep 17 00:00:00 2001
|
||||
From b38c4b6616f13cfd2f02ee97a3bd34562b40a97e Mon Sep 17 00:00:00 2001
|
||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||
Date: Thu, 24 Sep 2020 01:56:34 +0900
|
||||
Subject: [PATCH] mwifiex: pcie: use shutdown_sw()/reinit_sw() on
|
||||
|
@ -1073,9 +1073,9 @@ index 290427c98630..d80eb18fb0d1 100644
|
|||
return 0;
|
||||
}
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From e29ab6dce0e19ec82c04421da520d6a8cd4a7f17 Mon Sep 17 00:00:00 2001
|
||||
From fc4220fde9f826159b3d9e2519652b37da473089 Mon Sep 17 00:00:00 2001
|
||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||
Date: Mon, 24 Aug 2020 17:11:35 +0900
|
||||
Subject: [PATCH] mwifiex: pcie: add enable_device_dump module parameter
|
||||
|
@ -1122,9 +1122,9 @@ index d80eb18fb0d1..ea766584d3b7 100644
|
|||
if (!adapter->devdump_data) {
|
||||
mwifiex_dbg(adapter, ERROR,
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From 3cf8c0e5130ca4accf9548c6851d08ebf73b2fc6 Mon Sep 17 00:00:00 2001
|
||||
From 34df63e9063f14a1e61f7602c61b498c93ec9ed5 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+
|
||||
|
@ -1277,9 +1277,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.28.0
|
||||
2.29.2
|
||||
|
||||
From 52e3edee84ced375bb626773318578f3fd020194 Mon Sep 17 00:00:00 2001
|
||||
From 0c81c19f58f53ae517560ccf93b1ea773cccc98c Mon Sep 17 00:00:00 2001
|
||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||
Date: Sun, 4 Oct 2020 00:25:48 +0900
|
||||
Subject: [PATCH] mwifiex: add allow_ps_mode module parameter
|
||||
|
@ -1339,9 +1339,9 @@ index 650191db25cb..dd1f08a2325f 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From 2a4cdeb78a41d90ee8062d4ed03ad0acd7b83c71 Mon Sep 17 00:00:00 2001
|
||||
From a31c76382e21d9b4cfe82a6382124f29f670383c Mon Sep 17 00:00:00 2001
|
||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||
Date: Sun, 4 Oct 2020 00:38:48 +0900
|
||||
Subject: [PATCH] mwifiex: print message when changing ps_mode
|
||||
|
@ -1374,9 +1374,9 @@ index dd1f08a2325f..ee88da92b97c 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From 13febaae5f0d645765c83a0c4141514434458b39 Mon Sep 17 00:00:00 2001
|
||||
From 5c67ce2123bfdbb8bf281cc2bc49b7aa2afa7e6b Mon Sep 17 00:00:00 2001
|
||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||
Date: Sun, 4 Oct 2020 00:59:37 +0900
|
||||
Subject: [PATCH] mwifiex: disable ps_mode explicitly by default instead
|
||||
|
@ -1422,5 +1422,5 @@ index 4ed10cf82f9a..ed0fffb9eba6 100644
|
|||
|
||||
if (drcs) {
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From a80e327970c6f03b0516fd354f2df0563b1497f2 Mon Sep 17 00:00:00 2001
|
||||
From 8d21f4f4f4846dcc0bfffb04ac334282e60b0509 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
|
||||
|
@ -33,8 +33,8 @@ Patchset: surface-gpe
|
|||
---
|
||||
drivers/platform/x86/Kconfig | 9 +
|
||||
drivers/platform/x86/Makefile | 1 +
|
||||
drivers/platform/x86/surface_gpe.c | 299 +++++++++++++++++++++++++++++
|
||||
3 files changed, 309 insertions(+)
|
||||
drivers/platform/x86/surface_gpe.c | 302 +++++++++++++++++++++++++++++
|
||||
3 files changed, 312 insertions(+)
|
||||
create mode 100644 drivers/platform/x86/surface_gpe.c
|
||||
|
||||
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
|
||||
|
@ -71,14 +71,17 @@ index 2ea90039a3e4..49238e9d4abf 100644
|
|||
obj-$(CONFIG_INTEL_TELEMETRY) += intel_telemetry_core.o \
|
||||
diff --git a/drivers/platform/x86/surface_gpe.c b/drivers/platform/x86/surface_gpe.c
|
||||
new file mode 100644
|
||||
index 000000000000..451ca1f981fe
|
||||
index 000000000000..8e8f3ea7c864
|
||||
--- /dev/null
|
||||
+++ b/drivers/platform/x86/surface_gpe.c
|
||||
@@ -0,0 +1,299 @@
|
||||
@@ -0,0 +1,302 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
+/*
|
||||
+ * Pseudo device and driver to enable wakeup from suspend via the lid by
|
||||
+ * properly configuring the respective GPEs on Microsoft Surface devices.
|
||||
+ * Surface GPE/Lid driver to enable wakeup from suspend via the lid by
|
||||
+ * properly configuring the respective GPEs. Required for wakeup via lid on
|
||||
+ * newer Intel-based Microsoft Surface devices.
|
||||
+ *
|
||||
+ * Copyright (C) 2020 Maximilian Luz <luzmaximilian@gmail.com>
|
||||
+ */
|
||||
+
|
||||
+#include <linux/acpi.h>
|
||||
|
@ -375,5 +378,5 @@ index 000000000000..451ca1f981fe
|
|||
+MODULE_ALIAS("dmi:*:svnMicrosoftCorporation:pnSurfaceLaptop2:*");
|
||||
+MODULE_ALIAS("dmi:*:svnMicrosoftCorporation:pnSurfaceLaptop3:*");
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From bcb8584fbaa4854a8bcfc35c167712df1230cd5a Mon Sep 17 00:00:00 2001
|
||||
From 57296dc70cc52019878857232e94db3f1a3569cf 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
|
||||
|
@ -54,10 +54,10 @@ Patchset: surface-sam-over-hid
|
|||
1 file changed, 35 insertions(+)
|
||||
|
||||
diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
|
||||
index eb0569359387..c2b5a2aca731 100644
|
||||
index 8ba4122fb340..f9a24b56fec0 100644
|
||||
--- a/drivers/i2c/i2c-core-acpi.c
|
||||
+++ b/drivers/i2c/i2c-core-acpi.c
|
||||
@@ -532,6 +532,28 @@ static int acpi_gsb_i2c_write_bytes(struct i2c_client *client,
|
||||
@@ -542,6 +542,28 @@ static int acpi_gsb_i2c_write_bytes(struct i2c_client *client,
|
||||
return (ret == 1) ? 0 : -EIO;
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,7 @@ index eb0569359387..c2b5a2aca731 100644
|
|||
static acpi_status
|
||||
i2c_acpi_space_handler(u32 function, acpi_physical_address command,
|
||||
u32 bits, u64 *value64,
|
||||
@@ -639,6 +661,19 @@ i2c_acpi_space_handler(u32 function, acpi_physical_address command,
|
||||
@@ -649,6 +671,19 @@ i2c_acpi_space_handler(u32 function, acpi_physical_address command,
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -107,9 +107,9 @@ index eb0569359387..c2b5a2aca731 100644
|
|||
dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
|
||||
accessor_type, client->addr);
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
From 53e895a0bfdf74dddb2f295f4d4e1ab93229fc40 Mon Sep 17 00:00:00 2001
|
||||
From 338675ab867f045eff4106fde8f8f941e3ad9352 Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Date: Sun, 6 Sep 2020 04:01:19 +0200
|
||||
Subject: [PATCH] platform/x86: Add driver for Surface Book 1 dGPU switch
|
||||
|
@ -330,5 +330,5 @@ index 000000000000..8c66ed5110fd
|
|||
+MODULE_DESCRIPTION("Discrete GPU Power-Switch for Surface Book 1");
|
||||
+MODULE_LICENSE("GPL");
|
||||
--
|
||||
2.28.0
|
||||
2.29.2
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,70 +0,0 @@
|
|||
From c523e2ba98307da63f228ec499d9f011e4ebd916 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Wed, 14 Oct 2020 16:41:58 +0200
|
||||
Subject: [PATCH] i2c: core: Restore acpi_walk_dep_device_list() getting called
|
||||
after registering the ACPI i2c devs
|
||||
|
||||
Commit 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler()
|
||||
before i2c_acpi_register_devices()")'s intention was to only move the
|
||||
acpi_install_address_space_handler() call to the point before where
|
||||
the ACPI declared i2c-children of the adapter where instantiated by
|
||||
i2c_acpi_register_devices().
|
||||
|
||||
But i2c_acpi_install_space_handler() had a call to
|
||||
acpi_walk_dep_device_list() hidden (that is I missed it) at the end
|
||||
of it, so as an unwanted side-effect now acpi_walk_dep_device_list()
|
||||
was also being called before i2c_acpi_register_devices().
|
||||
|
||||
Move the acpi_walk_dep_device_list() call to the end of
|
||||
i2c_acpi_register_devices(), so that it is once again called *after*
|
||||
the i2c_client-s hanging of the adapter have been created.
|
||||
|
||||
This fixes the Microsoft Surface Go 2 hanging at boot.
|
||||
|
||||
Fixes: 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()")
|
||||
Suggested-by: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Reported-and-tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
drivers/i2c/i2c-core-acpi.c | 11 ++++++++++-
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
|
||||
index c2b5a2aca731..f9a24b56fec0 100644
|
||||
--- a/drivers/i2c/i2c-core-acpi.c
|
||||
+++ b/drivers/i2c/i2c-core-acpi.c
|
||||
@@ -219,6 +219,7 @@ static acpi_status i2c_acpi_add_device(acpi_handle handle, u32 level,
|
||||
void i2c_acpi_register_devices(struct i2c_adapter *adap)
|
||||
{
|
||||
acpi_status status;
|
||||
+ acpi_handle handle;
|
||||
|
||||
if (!has_acpi_companion(&adap->dev))
|
||||
return;
|
||||
@@ -229,6 +230,15 @@ void i2c_acpi_register_devices(struct i2c_adapter *adap)
|
||||
adap, NULL);
|
||||
if (ACPI_FAILURE(status))
|
||||
dev_warn(&adap->dev, "failed to enumerate I2C slaves\n");
|
||||
+
|
||||
+ if (!adap->dev.parent)
|
||||
+ return;
|
||||
+
|
||||
+ handle = ACPI_HANDLE(adap->dev.parent);
|
||||
+ if (!handle)
|
||||
+ return;
|
||||
+
|
||||
+ acpi_walk_dep_device_list(handle);
|
||||
}
|
||||
|
||||
const struct acpi_device_id *
|
||||
@@ -728,7 +738,6 @@ int i2c_acpi_install_space_handler(struct i2c_adapter *adapter)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
- acpi_walk_dep_device_list(handle);
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.28.0
|
||||
|
|
@ -1 +0,0 @@
|
|||
../../../patches/4.19/0011-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch
|
|
@ -30,7 +30,6 @@ source=(
|
|||
0008-surface-gpe.patch
|
||||
0009-surface-sam-over-hid.patch
|
||||
0010-surface-sam.patch
|
||||
0011-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch
|
||||
)
|
||||
validpgpkeys=(
|
||||
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
|
||||
|
@ -41,18 +40,17 @@ sha256sums=('a5a6aa9c2c2810efa72b5d9723de86ccea3f965b2dd748d15e82d5fac23a055d'
|
|||
'SKIP'
|
||||
'4e68572e7cc4c5368f0236e0792660ae8498373988625dca46e509399a7eaea6'
|
||||
'a13581d3c6dc595206e4fe7fcf6b542e7a1bdbe96101f0f010fc5be49f99baf2'
|
||||
'1c4963e4a911e74ed56f1fe0065c31201edca9a5e3f89eb30b7063f9981ebdd8'
|
||||
'111b4f7814d49c06f3f328feba30c8991e423acce36aa9c737a31489a64b9e5d'
|
||||
'b85aa40e2c3c04514aa14538c7486653cc987276acffae532e3b8516d3328bfc'
|
||||
'602fb64b0b2073e0b016f39be34d86113fb0b3e63b4490cc26611d1313b3665e'
|
||||
'99bc4ce339713433a06d936bb6c339d2797b6bec8e7af91be017bcf30bc658b3'
|
||||
'0d0bd51185191cdc29405db26cfa8d79debb85aa090931672b8ac5c3ee4a7e10'
|
||||
'0383649af9c5f63c47b515d03e9279a4090fec1fb32a9d47692a491c80f5a1b5'
|
||||
'e5fd01b8fdb8c53f46ac58fdffd4d7a75f009217e5f2a484ac00a6bb9968eab4'
|
||||
'4a5c643ec9a3c3e15ceff45e024fce0462dc314b516fe0620de6858178d96fc8'
|
||||
'f28bc22540ad92769c4bd787140ab759f665f262f1c9cb8827010d8c8f6c5d4c'
|
||||
'71deb9a7421a7ba3be46059e5246a2900b1d1cd206339716f1fb9f1c848731d7'
|
||||
'12dd1c955d2b9123afaad2690d65905ea394f297ba27ab4fec32dd5655553c8c')
|
||||
'dacf6a14239e151bae71587e6e604faeadd1e63975edeba4bb8033806b68c67a'
|
||||
'ea4ecb074b7da55a9e41aa94d16d39847bc861b347b3c5fb118f958f3066c477'
|
||||
'ec7f00b497369b43ce1ed3bfbd01cfecd8e1e1525f1cc294670c22b68a673e01'
|
||||
'cfe0ab5a6713490380ad0123f040a4889f11c45c27106e76e90b967a380c9f0f'
|
||||
'b73b1ece41ce596da7cbed9e9a5fba2e6383ca3f039004ab188a18c11012601b'
|
||||
'eb74146731751b76bd5edd0bb5127ad2ca089d9a9e38a55761ed0911688fa80f'
|
||||
'fe2d1edbb73f4c90cbbfc4e270ff39474db6095368125a3cf89f099ac40edaa0'
|
||||
'd3f61a02cdfb7fbb7a3f7dcebc96b4874dbcf3392f3e8349b3775ecc6a472107'
|
||||
'132fe7136f5382d3785107f21ab0f74a8229a99368ab6d771c8f3c88d7bdde1f'
|
||||
'441cc7f501314f59397f2a3af77fc45921bc0e3d8894cc2fb3b8a7ed9e735878'
|
||||
'cc19f511f564f0e291d27cec15f5360737ddc17777e5b642a5fa68935576e456')
|
||||
|
||||
export KBUILD_BUILD_HOST=archlinux
|
||||
export KBUILD_BUILD_USER=$pkgbase
|
||||
|
|
Loading…
Reference in a new issue