x86: add led driver for PC Engines APU1
[openwrt/openwrt.git] / target / linux / x86 / patches-5.4 / 300-pcengines_apu1_led.patch
diff --git a/target/linux/x86/patches-5.4/300-pcengines_apu1_led.patch b/target/linux/x86/patches-5.4/300-pcengines_apu1_led.patch
new file mode 100644 (file)
index 0000000..9d1e4ab
--- /dev/null
@@ -0,0 +1,41 @@
+From: Andreas Eberlein <foodeas@aeberlein.de>
+Subject: x86: add LED support for PC Engines APU1 with mainline bios
+
+This adds support for the LEDs on PC Engines APU1 with the mainline bios.
+
+Signed-off-by: Andreas Eberlein <foodeas@aeberlein.de>
+---
+--- a/drivers/leds/leds-apu.c
++++ b/drivers/leds/leds-apu.c
+@@ -83,6 +83,7 @@ static const struct apu_led_profile apu1
+ };
+ static const struct dmi_system_id apu_led_dmi_table[] __initconst = {
++      /* PC Engines APU with "Legacy" bios < 4.0.8 */
+       {
+               .ident = "apu",
+               .matches = {
+@@ -90,6 +91,14 @@ static const struct dmi_system_id apu_le
+                       DMI_MATCH(DMI_PRODUCT_NAME, "APU")
+               }
+       },
++      /* PC Engines APU with "Mainline" bios >= 4.0.8 */
++      {
++              .ident = "apu",
++              .matches = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
++                      DMI_MATCH(DMI_PRODUCT_NAME, "apu1")
++              }
++      },
+       {}
+ };
+ MODULE_DEVICE_TABLE(dmi, apu_led_dmi_table);
+@@ -173,7 +182,7 @@ static int __init apu_led_init(void)
+       int err;
+       if (!(dmi_match(DMI_SYS_VENDOR, "PC Engines") &&
+-            dmi_match(DMI_PRODUCT_NAME, "APU"))) {
++            (dmi_match(DMI_PRODUCT_NAME, "APU") || dmi_match(DMI_PRODUCT_NAME, "apu1")))) {
+               pr_err("No PC Engines APUv1 board detected. For APUv2,3 support, enable CONFIG_PCENGINES_APU2\n");
+               return -ENODEV;
+       }