kernel/pcengines-apu2: detect apuv4 board
authorMatthew Gyurgyik <matthew@gyurgyik.io>
Fri, 3 Jul 2020 21:08:25 +0000 (14:08 -0700)
committerDavid Bauer <mail@david-bauer.net>
Mon, 6 Jul 2020 15:57:33 +0000 (17:57 +0200)
Upstream commit 3d00da1de3 ("platform/x86: pcengines-apuv2: detect apuv4
board")

On 5.4, this module fails on APUv4 due to non-matching DMI data. With this
patch, the module will match DMI data for the APUv4.

Signed-off-by: Matthew Gyurgyik <matthew@gyurgyik.io>
[include upstream patch description]
Signed-off-by: David Bauer <mail@david-bauer.net>
target/linux/x86/patches-5.4/012-pcengines-apu2-detect-apuv4-board.patch [new file with mode: 0644]

diff --git a/target/linux/x86/patches-5.4/012-pcengines-apu2-detect-apuv4-board.patch b/target/linux/x86/patches-5.4/012-pcengines-apu2-detect-apuv4-board.patch
new file mode 100644 (file)
index 0000000..1be9a60
--- /dev/null
@@ -0,0 +1,50 @@
+From 3d00da1de3ea36ba44f4a7ba76c8c8b16f98204b Mon Sep 17 00:00:00 2001
+From: "Enrico Weigelt, metux IT consult" <info@metux.net>
+Date: Thu, 12 Dec 2019 14:27:56 +0100
+Subject: [PATCH] platform/x86: pcengines-apuv2: detect apuv4 board
+
+GPIO stuff on APUv4 seems to be the same as on APUv2, so we just
+need to match on DMI data.
+
+Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+---
+ drivers/platform/x86/pcengines-apuv2.c | 27 ++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+--- a/drivers/platform/x86/pcengines-apuv2.c
++++ b/drivers/platform/x86/pcengines-apuv2.c
+@@ -186,6 +186,33 @@ static const struct dmi_system_id apu_gp
+               },
+               .driver_data = (void *)&board_apu2,
+       },
++      /* APU4 w/ legacy bios < 4.0.8 */
++      {
++              .ident        = "apu4",
++              .matches    = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
++                      DMI_MATCH(DMI_BOARD_NAME, "APU4")
++              },
++              .driver_data = (void *)&board_apu2,
++      },
++      /* APU4 w/ legacy bios >= 4.0.8 */
++      {
++              .ident       = "apu4",
++              .matches     = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
++                      DMI_MATCH(DMI_BOARD_NAME, "apu4")
++              },
++              .driver_data = (void *)&board_apu2,
++      },
++      /* APU4 w/ mainline bios */
++      {
++              .ident       = "apu4",
++              .matches     = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
++                      DMI_MATCH(DMI_BOARD_NAME, "PC Engines apu4")
++              },
++              .driver_data = (void *)&board_apu2,
++      },
+       {}
+ };