Commit c0e6ba2d authored by Dustin L. Howett's avatar Dustin L. Howett Committed by Tzung-Bi Shih
Browse files

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: default avatarDustin L. Howett <dustin@howett.net>
Reviewed-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Tested-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Tested-by: default avatarMario Limonciello <superm1@gmail.com>
Link: https://lore.kernel.org/r/20240403004713.130365-3-dustin@howett.net


Signed-off-by: default avatarTzung-Bi Shih <tzungbi@kernel.org>
parent 8d4a9c69
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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) {