[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <28a160ac-df8c-0fcb-8814-03125d753be3@roeck-us.net>
Date: Tue, 10 Nov 2020 06:39:40 -0800
From: Guenter Roeck <linux@...ck-us.net>
To: Michael Brunner <Michael.Brunner@...tron.com>,
"lee.jones@...aro.org" <lee.jones@...aro.org>
Cc: "sameo@...ux.intel.com" <sameo@...ux.intel.com>,
"mibru@....de" <mibru@....de>,
"vkrasnov@....rtsoft.ru" <vkrasnov@....rtsoft.ru>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"mvanyulin@....rtsoft.ru" <mvanyulin@....rtsoft.ru>
Subject: Re: [PATCH] mfd: kempld-core: Check for DMI definition before ACPI
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@...tron.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)
>
Powered by blists - more mailing lists