Skip to content

Commit 7beb226

Browse files
jwrdegoedelag-linaro
authored andcommitted
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: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20241104150655.41402-3-hdegoede@redhat.com Signed-off-by: Lee Jones <lee@kernel.org>
1 parent 521aa8b commit 7beb226

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

drivers/mfd/intel_soc_pmic_crc.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,12 +259,19 @@ static const struct acpi_device_id crystal_cove_acpi_match[] = {
259259
};
260260
MODULE_DEVICE_TABLE(acpi, crystal_cove_acpi_match);
261261

262+
static const struct i2c_device_id crystal_cove_i2c_match[] = {
263+
{ "intel_soc_pmic_crc" },
264+
{ }
265+
};
266+
MODULE_DEVICE_TABLE(i2c, crystal_cove_i2c_match);
267+
262268
static struct i2c_driver crystal_cove_i2c_driver = {
263269
.driver = {
264270
.name = "intel_soc_pmic_crc",
265271
.pm = pm_sleep_ptr(&crystal_cove_pm_ops),
266272
.acpi_match_table = crystal_cove_acpi_match,
267273
},
274+
.id_table = crystal_cove_i2c_match,
268275
.probe = crystal_cove_i2c_probe,
269276
.remove = crystal_cove_i2c_remove,
270277
.shutdown = crystal_cove_shutdown,

0 commit comments

Comments
 (0)