diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c index 8255e1f9ed3d2b348303acf264b9eda673141c0c..12820049a79efe32fb7d7a3ce398937abdf01a14 100644 --- a/drivers/usb/typec/tipd/core.c +++ b/drivers/usb/typec/tipd/core.c @@ -1039,6 +1039,15 @@ static int tps6598x_probe(struct i2c_client *client) APPLE_CD_REG_INT_PLUG_EVENT; irq_handler = cd321x_interrupt; + } else { + ret = tps6598x_read64(tps, TPS_REG_INT_MASK1, &mask1); + if (ret) + return ret; + + /* Enable power status, data status and plug event interrupts */ + mask1 |= TPS_REG_INT_POWER_STATUS_UPDATE | + TPS_REG_INT_DATA_STATUS_UPDATE | + TPS_REG_INT_PLUG_EVENT; } /* Make sure the controller has application firmware running */ @@ -1046,11 +1055,9 @@ static int tps6598x_probe(struct i2c_client *client) if (ret) return ret; - if (np && of_device_is_compatible(np, "apple,cd321x")) { - ret = tps6598x_write64(tps, TPS_REG_INT_MASK1, mask1); - if (ret) - return ret; - } + ret = tps6598x_write64(tps, TPS_REG_INT_MASK1, mask1); + if (ret) + return ret; ret = tps6598x_read32(tps, TPS_REG_STATUS, &status); if (ret < 0)