Messages in this thread | | | Subject | Re: [PATCH] mfd: kempld-core: Check for DMI definition before ACPI | From | Guenter Roeck <> | Date | Tue, 10 Nov 2020 06:39:40 -0800 |
| |
On 11/9/20 11:46 PM, Michael Brunner wrote: > Change the detection order to priorize DMI table entries over available > ACPI entries. > > This makes it more easy for product developers to patch product specific > handling into the driver. > Furthermore it allows to simplify the implementation a bit and > especially to remove the need to force synchronous probing. > > Based on the following commit introduced with v5.10-rc1: > commit e8299c7313af ("mfd: Add ACPI support to Kontron PLD driver") > > Signed-off-by: Michael Brunner <michael.brunner@kontron.com> > --- > drivers/mfd/kempld-core.c | 23 ++--------------------- > 1 file changed, 2 insertions(+), 21 deletions(-) > > diff --git a/drivers/mfd/kempld-core.c b/drivers/mfd/kempld-core.c > index 2c9295953c11..aa7f386646a1 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,10 @@ static int __init kempld_init(void) > break; > if (id->matches[0].slot == DMI_NONE) > return -ENODEV; > - } > - > - 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) > + } else
} else { > dmi_check_system(kempld_dmi_table); }
Guenter
> > - return 0; > + return platform_driver_register(&kempld_driver); > } > > static void __exit kempld_exit(void) >
| |