platform: mellanox: mlx-platform: Introduce ACPI init flow

Introduce support for ACPI initialization flow - add ACPI match hook.

Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Reviewed-by: Michael Shych <michaelsh@nvidia.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20230822113451.13785-12-vadimp@nvidia.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
Vadim Pasternak 2023-08-22 11:34:46 +00:00 committed by Hans de Goede
parent 222954493c
commit 1316e0af2d
2 changed files with 13 additions and 0 deletions

View File

@ -965,6 +965,7 @@ config SERIAL_MULTI_INSTANTIATE
config MLX_PLATFORM
tristate "Mellanox Technologies platform support"
depends on ACPI
depends on I2C
select REGMAP
help

View File

@ -6396,9 +6396,14 @@ static int mlxplat_probe(struct platform_device *pdev)
{
unsigned int hotplug_resources_size = 0;
struct resource *hotplug_resources = NULL;
struct acpi_device *acpi_dev;
struct mlxplat_priv *priv;
int i, err;
acpi_dev = ACPI_COMPANION(&pdev->dev);
if (acpi_dev)
mlxplat_dev = pdev;
err = mlxplat_pre_init(&hotplug_resources, &hotplug_resources_size);
if (err)
return err;
@ -6476,9 +6481,16 @@ static int mlxplat_remove(struct platform_device *pdev)
return 0;
}
static const struct acpi_device_id mlxplat_acpi_table[] = {
{ "MLNXBF49", 0 },
{}
};
MODULE_DEVICE_TABLE(acpi, mlxplat_acpi_table);
static struct platform_driver mlxplat_driver = {
.driver = {
.name = "mlxplat",
.acpi_match_table = mlxplat_acpi_table,
.probe_type = PROBE_FORCE_SYNCHRONOUS,
},
.probe = mlxplat_probe,