mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
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 <dustin@howett.net> Reviewed-by: Thomas Weißschuh <linux@weissschuh.net> Tested-by: Thomas Weißschuh <linux@weissschuh.net> Tested-by: Mario Limonciello <superm1@gmail.com> Link: https://lore.kernel.org/r/20240403004713.130365-3-dustin@howett.net Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
This commit is contained in:
parent
8d4a9c69de
commit
c0e6ba2d0b
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user