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.brun...@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)
> 

Reply via email to