diff --git a/drivers/mfd/kempld-core.c b/drivers/mfd/kempld-core.c index 2c9295953c11..ecd26271b9a4 100644 --- a/drivers/mfd/kempld-core.c +++ b/drivers/mfd/kempld-core.c @@ -125,7 +125,6 @@ static const struct kempld_platform_data kempld_platform_data_generic = { }; static struct platform_device *kempld_pdev; -static bool kempld_acpi_mode; static int kempld_create_platform_device(const struct dmi_system_id *id) { @@ -501,8 +500,6 @@ static int kempld_probe(struct platform_device *pdev) ret = kempld_get_acpi_data(pdev); if (ret) return ret; - - kempld_acpi_mode = true; } else if (kempld_pdev != pdev) { /* * The platform device we are probing is not the one we @@ -565,7 +562,6 @@ static struct platform_driver kempld_driver = { .driver = { .name = "kempld", .acpi_match_table = ACPI_PTR(kempld_acpi_table), - .probe_type = PROBE_FORCE_SYNCHRONOUS, }, .probe = kempld_probe, .remove = kempld_remove, @@ -884,7 +880,6 @@ MODULE_DEVICE_TABLE(dmi, kempld_dmi_table); static int __init kempld_init(void) { const struct dmi_system_id *id; - int ret; if (force_device_id[0]) { for (id = kempld_dmi_table; @@ -894,24 +889,11 @@ static int __init kempld_init(void) break; if (id->matches[0].slot == DMI_NONE) return -ENODEV; + } else { + dmi_check_system(kempld_dmi_table); } - ret = platform_driver_register(&kempld_driver); - if (ret) - return ret; - - /* - * With synchronous probing the device should already be probed now. - * If no device id is forced and also no ACPI definition for the - * device was found, scan DMI table as fallback. - * - * If drivers_autoprobing is disabled and the device is found here, - * only that device can be bound manually later. - */ - if (!kempld_pdev && !kempld_acpi_mode) - dmi_check_system(kempld_dmi_table); - - return 0; + return platform_driver_register(&kempld_driver); } static void __exit kempld_exit(void)