From: Dustin L. Howett Date: Wed, 3 Apr 2024 00:47:11 +0000 (-0500) Subject: platform/chrome: cros_ec_lpc: pass driver_data from DMI to the device X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c0e6ba2d0b117176e1329c2bfe3fa4c79301c6cd;p=linux.git platform/chrome: cros_ec_lpc: pass driver_data from DMI to the device lpc_driver_data will be stored in drvdata until probe is complete. Signed-off-by: Dustin L. Howett Reviewed-by: Thomas Weißschuh Tested-by: Thomas Weißschuh Tested-by: Mario Limonciello Link: https://lore.kernel.org/r/20240403004713.130365-3-dustin@howett.net Signed-off-by: Tzung-Bi Shih --- diff --git a/drivers/platform/chrome/cros_ec_lpc.c b/drivers/platform/chrome/cros_ec_lpc.c index 5e2856c5185b6..b3aa60e0feb3d 100644 --- a/drivers/platform/chrome/cros_ec_lpc.c +++ b/drivers/platform/chrome/cros_ec_lpc.c @@ -627,14 +627,16 @@ static int __init cros_ec_lpc_init(void) { int ret; acpi_status status; + const struct dmi_system_id *dmi_match; status = acpi_get_devices(ACPI_DRV_NAME, cros_ec_lpc_parse_device, &cros_ec_lpc_acpi_device_found, NULL); if (ACPI_FAILURE(status)) pr_warn(DRV_NAME ": Looking for %s failed\n", ACPI_DRV_NAME); - if (!cros_ec_lpc_acpi_device_found && - !dmi_check_system(cros_ec_lpc_dmi_table)) { + dmi_match = dmi_first_match(cros_ec_lpc_dmi_table); + + if (!cros_ec_lpc_acpi_device_found && !dmi_match) { pr_err(DRV_NAME ": unsupported system.\n"); return -ENODEV; } @@ -647,6 +649,9 @@ static int __init cros_ec_lpc_init(void) } if (!cros_ec_lpc_acpi_device_found) { + /* Pass the DMI match's driver data down to the platform device */ + platform_set_drvdata(&cros_ec_lpc_device, dmi_match->driver_data); + /* Register the device, and it'll get hooked up automatically */ ret = platform_device_register(&cros_ec_lpc_device); if (ret) {