forked from mirrors/linux
		
	firmware: dmi: Add DMI_PRODUCT_FAMILY identification string
Sometimes it is more convenient to be able to match a whole family of products, like in case of bunch of Chromebooks based on Intel_Strago to apply a driver quirk instead of quirking each machine one-by-one. This adds support for DMI_PRODUCT_FAMILY identification string and also exports it to the userspace through sysfs attribute just like the existing ones. Suggested-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
		
							parent
							
								
									664b7c4728
								
							
						
					
					
						commit
						c61872c983
					
				
					 3 changed files with 4 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -47,6 +47,7 @@ DEFINE_DMI_ATTR_WITH_SHOW(product_name,		0444, DMI_PRODUCT_NAME);
 | 
			
		|||
DEFINE_DMI_ATTR_WITH_SHOW(product_version,	0444, DMI_PRODUCT_VERSION);
 | 
			
		||||
DEFINE_DMI_ATTR_WITH_SHOW(product_serial,	0400, DMI_PRODUCT_SERIAL);
 | 
			
		||||
DEFINE_DMI_ATTR_WITH_SHOW(product_uuid,		0400, DMI_PRODUCT_UUID);
 | 
			
		||||
DEFINE_DMI_ATTR_WITH_SHOW(product_family,	0400, DMI_PRODUCT_FAMILY);
 | 
			
		||||
DEFINE_DMI_ATTR_WITH_SHOW(board_vendor,		0444, DMI_BOARD_VENDOR);
 | 
			
		||||
DEFINE_DMI_ATTR_WITH_SHOW(board_name,		0444, DMI_BOARD_NAME);
 | 
			
		||||
DEFINE_DMI_ATTR_WITH_SHOW(board_version,	0444, DMI_BOARD_VERSION);
 | 
			
		||||
| 
						 | 
				
			
			@ -191,6 +192,7 @@ static void __init dmi_id_init_attr_table(void)
 | 
			
		|||
	ADD_DMI_ATTR(product_version,   DMI_PRODUCT_VERSION);
 | 
			
		||||
	ADD_DMI_ATTR(product_serial,    DMI_PRODUCT_SERIAL);
 | 
			
		||||
	ADD_DMI_ATTR(product_uuid,      DMI_PRODUCT_UUID);
 | 
			
		||||
	ADD_DMI_ATTR(product_family,      DMI_PRODUCT_FAMILY);
 | 
			
		||||
	ADD_DMI_ATTR(board_vendor,      DMI_BOARD_VENDOR);
 | 
			
		||||
	ADD_DMI_ATTR(board_name,        DMI_BOARD_NAME);
 | 
			
		||||
	ADD_DMI_ATTR(board_version,     DMI_BOARD_VERSION);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -430,6 +430,7 @@ static void __init dmi_decode(const struct dmi_header *dm, void *dummy)
 | 
			
		|||
		dmi_save_ident(dm, DMI_PRODUCT_VERSION, 6);
 | 
			
		||||
		dmi_save_ident(dm, DMI_PRODUCT_SERIAL, 7);
 | 
			
		||||
		dmi_save_uuid(dm, DMI_PRODUCT_UUID, 8);
 | 
			
		||||
		dmi_save_ident(dm, DMI_PRODUCT_FAMILY, 26);
 | 
			
		||||
		break;
 | 
			
		||||
	case 2:		/* Base Board Information */
 | 
			
		||||
		dmi_save_ident(dm, DMI_BOARD_VENDOR, 4);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -467,6 +467,7 @@ enum dmi_field {
 | 
			
		|||
	DMI_PRODUCT_VERSION,
 | 
			
		||||
	DMI_PRODUCT_SERIAL,
 | 
			
		||||
	DMI_PRODUCT_UUID,
 | 
			
		||||
	DMI_PRODUCT_FAMILY,
 | 
			
		||||
	DMI_BOARD_VENDOR,
 | 
			
		||||
	DMI_BOARD_NAME,
 | 
			
		||||
	DMI_BOARD_VERSION,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue