]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
HID: intel-ish-hid: loader: Add PRODUCT_FAMILY-based firmware matching
authorVishnu Sankar <vishnuocv@gmail.com>
Mon, 22 Dec 2025 08:05:11 +0000 (17:05 +0900)
committerJiri Kosina <jkosina@suse.com>
Wed, 7 Jan 2026 21:06:07 +0000 (22:06 +0100)
commit043251b2dd1c2b0cd23f67830748493fd3d3ed0f
tree45b5c210fb47d97b7d92b8ada6155ab6346db906
parentfde4ce068d1bccacf1e2d6a28697a3847f28e0a6
HID: intel-ish-hid: loader: Add PRODUCT_FAMILY-based firmware matching

Add support for firmware filenames that include the CRC32 checksum of the
DMI product_family field. Several OEMs ship ISH firmware variants shared
across a product family while product_name or product_sku may differ. This
intermediate matching granularity reduces duplication and improves firmware
selection for vendor-customized platforms.

The newly supported filename forms are checked before existing patterns:

  ish_${gen}_${vendor}_${family}_${name}_${sku}.bin
  ish_${gen}_${vendor}_${family}_${sku}.bin
  ish_${gen}_${vendor}_${family}_${name}.bin
  ish_${gen}_${vendor}_${family}.bin

The legacy product_name/product_sku rules remain unchanged and continue
to provide fallback matching.

ISH_FW_FILENAME_LEN_MAX is changed to 72 to accommodate the product_family.

Tested with X9 series and X1 series.

Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Tested-by: Richie Roy Jayme <rjayme.jp@gmail.com>
Signed-off-by: Vishnu Sankar <vishnuocv@gmail.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/intel-ish-hid/ishtp/loader.c