diff --git a/drivers/platform/x86/i2c-multi-instantiate.c b/drivers/platform/x86/i2c-multi-instantiate.c index a50153ecd560..4956a1df5b90 100644 --- a/drivers/platform/x86/i2c-multi-instantiate.c +++ b/drivers/platform/x86/i2c-multi-instantiate.c @@ -139,29 +139,13 @@ static const struct i2c_inst_data bsg2150_data[] = { {} }; -/* - * Device with _HID INT3515 (TI PD controllers) has some unresolved interrupt - * issues. The most common problem seen is interrupt flood. - * - * There are at least two known causes. Firstly, on some boards, the - * I2CSerialBus resource index does not match the Interrupt resource, i.e. they - * are not one-to-one mapped like in the array below. Secondly, on some boards - * the IRQ line from the PD controller is not actually connected at all. But the - * interrupt flood is also seen on some boards where those are not a problem, so - * there are some other problems as well. - * - * Because of the issues with the interrupt, the device is disabled for now. If - * you wish to debug the issues, uncomment the below, and add an entry for the - * INT3515 device to the i2c_multi_instance_ids table. - * - * static const struct i2c_inst_data int3515_data[] = { - * { "tps6598x", IRQ_RESOURCE_APIC, 0 }, - * { "tps6598x", IRQ_RESOURCE_APIC, 1 }, - * { "tps6598x", IRQ_RESOURCE_APIC, 2 }, - * { "tps6598x", IRQ_RESOURCE_APIC, 3 }, - * { } - * }; - */ +static const struct i2c_inst_data int3515_data[] = { + { "tps6598x", IRQ_RESOURCE_APIC, 0 }, + { "tps6598x", IRQ_RESOURCE_APIC, 1 }, + { "tps6598x", IRQ_RESOURCE_APIC, 2 }, + { "tps6598x", IRQ_RESOURCE_APIC, 3 }, + {} +}; /* * Note new device-ids must also be added to i2c_multi_instantiate_ids in @@ -170,6 +154,7 @@ static const struct i2c_inst_data bsg2150_data[] = { static const struct acpi_device_id i2c_multi_inst_acpi_ids[] = { { "BSG1160", (unsigned long)bsg1160_data }, { "BSG2150", (unsigned long)bsg2150_data }, + { "INT3515", (unsigned long)int3515_data }, { } }; MODULE_DEVICE_TABLE(acpi, i2c_multi_inst_acpi_ids);