diff options
| -rw-r--r-- | drivers/leds/leds-apu.c | 26 | 
1 files changed, 24 insertions, 2 deletions
| diff --git a/drivers/leds/leds-apu.c b/drivers/leds/leds-apu.c index 74820aab9497..311e98b1823f 100644 --- a/drivers/leds/leds-apu.c +++ b/drivers/leds/leds-apu.c @@ -110,6 +110,7 @@ static const struct dmi_system_id apu_led_dmi_table[] __initconst = {  			DMI_MATCH(DMI_PRODUCT_NAME, "APU")  		}  	}, +	/* PC Engines APU2 with "Legacy" bios < 4.0.8 */  	{  		.ident = "apu2",  		.matches = { @@ -117,6 +118,22 @@ static const struct dmi_system_id apu_led_dmi_table[] __initconst = {  			DMI_MATCH(DMI_BOARD_NAME, "APU2")  		}  	}, +	/* PC Engines APU2 with "Legacy" bios >= 4.0.8 */ +	{ +		.ident = "apu2", +		.matches = { +			DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"), +			DMI_MATCH(DMI_BOARD_NAME, "apu2") +		} +	}, +	/* PC Engines APU2 with "Mainline" bios */ +	{ +		.ident = "apu2", +		.matches = { +			DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"), +			DMI_MATCH(DMI_BOARD_NAME, "PC Engines apu2") +		} +	},  	{}  };  MODULE_DEVICE_TABLE(dmi, apu_led_dmi_table); @@ -211,7 +228,9 @@ static int __init apu_led_probe(struct platform_device *pdev)  		apu_led->platform = APU1_LED_PLATFORM;  		apu_led->num_led_instances = ARRAY_SIZE(apu1_led_profile);  		apu_led->iosize = APU1_IOSIZE; -	} else if (dmi_match(DMI_BOARD_NAME, "APU2")) { +	} else if (dmi_match(DMI_BOARD_NAME, "APU2") || +		   dmi_match(DMI_BOARD_NAME, "apu2") || +		   dmi_match(DMI_BOARD_NAME, "PC Engines apu2")) {  		apu_led->profile = apu2_led_profile;  		apu_led->platform = APU2_LED_PLATFORM;  		apu_led->num_led_instances = ARRAY_SIZE(apu2_led_profile); @@ -237,7 +256,10 @@ static int __init apu_led_init(void)  		pr_err("No PC Engines board detected\n");  		return -ENODEV;  	} -	if (!(dmi_match(DMI_PRODUCT_NAME, "APU") || dmi_match(DMI_PRODUCT_NAME, "APU2"))) { +	if (!(dmi_match(DMI_PRODUCT_NAME, "APU") || +	      dmi_match(DMI_PRODUCT_NAME, "APU2") || +	      dmi_match(DMI_PRODUCT_NAME, "apu2") || +	      dmi_match(DMI_PRODUCT_NAME, "PC Engines apu2"))) {  		pr_err("Unknown PC Engines board: %s\n",  				dmi_get_system_info(DMI_PRODUCT_NAME));  		return -ENODEV; | 
