Commit 7beb2261 authored by Hans de Goede's avatar Hans de Goede Committed by Lee Jones
Browse files

mfd: intel_soc_pmic_crc: Add support for non ACPI instantiated i2c_client



On some x86 Bay Trail tablets which shipped with Android as factory OS,
the DSDT is so broken that the PMIC needs to be manually instantiated by
the special x86-android-tablets.ko "fixup" driver for cases like this.

Add an i2c_device_id table so that the driver can match on manually
instantiated i2c_client-s (which lack an ACPI fwnode to match on).

Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20241104150655.41402-3-hdegoede@redhat.com


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 521aa8bc
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -259,12 +259,19 @@ static const struct acpi_device_id crystal_cove_acpi_match[] = {
};
MODULE_DEVICE_TABLE(acpi, crystal_cove_acpi_match);

static const struct i2c_device_id crystal_cove_i2c_match[] = {
	{ "intel_soc_pmic_crc" },
	{ }
};
MODULE_DEVICE_TABLE(i2c, crystal_cove_i2c_match);

static struct i2c_driver crystal_cove_i2c_driver = {
	.driver = {
		.name = "intel_soc_pmic_crc",
		.pm = pm_sleep_ptr(&crystal_cove_pm_ops),
		.acpi_match_table = crystal_cove_acpi_match,
	},
	.id_table = crystal_cove_i2c_match,
	.probe = crystal_cove_i2c_probe,
	.remove = crystal_cove_i2c_remove,
	.shutdown = crystal_cove_shutdown,