lkml.org 
[lkml]   [2020]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] mfd: kempld-core: Check for DMI definition before ACPI
From
Date
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)
>

\
 
 \ /
  Last update: 2020-11-10 15:41    [W:0.142 / U:0.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site