Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de40614d authored by Alex Hung's avatar Alex Hung Committed by Jean Delvare
Browse files

firmware: dmi_scan: Add DMI_OEM_STRING support to dmi_matches



OEM strings are defined by each OEM and they contain customized and
useful OEM information. Supporting it provides more flexible uses of
the dmi_matches function.

Signed-off-by: default avatarAlex Hung <alex.hung@canonical.com>
Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
parent 90fe6f8f
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -775,7 +775,15 @@ static bool dmi_matches(const struct dmi_system_id *dmi)
		int s = dmi->matches[i].slot;
		if (s == DMI_NONE)
			break;
		if (dmi_ident[s]) {
		if (s == DMI_OEM_STRING) {
			/* DMI_OEM_STRING must be exact match */
			const struct dmi_device *valid;

			valid = dmi_find_device(DMI_DEV_TYPE_OEM_STRING,
						dmi->matches[i].substr, NULL);
			if (valid)
				continue;
		} else if (dmi_ident[s]) {
			if (dmi->matches[i].exact_match) {
				if (!strcmp(dmi_ident[s],
					    dmi->matches[i].substr))
+1 −0
Original line number Diff line number Diff line
@@ -502,6 +502,7 @@ enum dmi_field {
	DMI_CHASSIS_SERIAL,
	DMI_CHASSIS_ASSET_TAG,
	DMI_STRING_MAX,
	DMI_OEM_STRING,	/* special case - will not be in dmi_ident */
};

struct dmi_strmatch {