This driver should also get loaded if this is a APU3 from PC Engines. It has the same pin layout for leds. Signed-off-by: Florian Eckert <fe@xxxxxxxxxx> --- drivers/leds/leds-apu.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/leds/leds-apu.c b/drivers/leds/leds-apu.c index 8c93d68964c7..1ed1c5a5dc77 100644 --- a/drivers/leds/leds-apu.c +++ b/drivers/leds/leds-apu.c @@ -134,6 +134,14 @@ static const struct dmi_system_id apu_led_dmi_table[] __initconst = { DMI_MATCH(DMI_BOARD_NAME, "PC Engines apu2") } }, + /* PC Engines APU3 with "Legancy" bios >= 4.0.7 */ + { + .ident = "apu3", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"), + DMI_MATCH(DMI_BOARD_NAME, "APU3") + } + }, {} }; MODULE_DEVICE_TABLE(dmi, apu_led_dmi_table); @@ -229,6 +237,7 @@ static int __init apu_led_probe(struct platform_device *pdev) apu_led->num_led_instances = ARRAY_SIZE(apu1_led_profile); apu_led->iosize = APU1_IOSIZE; } else if (dmi_match(DMI_BOARD_NAME, "APU2") || + dmi_match(DMI_BOARD_NAME, "APU3") || dmi_match(DMI_BOARD_NAME, "apu2") || dmi_match(DMI_BOARD_NAME, "PC Engines apu2")) { apu_led->profile = apu2_led_profile; @@ -258,6 +267,7 @@ static int __init apu_led_init(void) } if (!(dmi_match(DMI_PRODUCT_NAME, "APU") || dmi_match(DMI_PRODUCT_NAME, "APU2") || + dmi_match(DMI_PRODUCT_NAME, "APU3") || dmi_match(DMI_PRODUCT_NAME, "apu2") || dmi_match(DMI_PRODUCT_NAME, "PC Engines apu2"))) { pr_err("Unknown PC Engines board: %s\n", -- 2.11.0