On Tue, Sep 21, 2021, at 15:40, Heikki Krogerus wrote: > On Sat, Sep 18, 2021 at 02:09:31PM +0200, Sven Peter wrote: >> Right now the code relies on the bootloader to set up the interrupt mask >> correctly. This usually works but let's make sure to do it explicitly to >> guarantee it will always work. >> >> Signed-off-by: Sven Peter <sven@xxxxxxxxxxxxx> >> --- >> drivers/usb/typec/tipd/core.c | 18 ++++++++++++++++++ >> 1 file changed, 18 insertions(+) >> >> diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c >> index d191e7435018..2058e8cca631 100644 >> --- a/drivers/usb/typec/tipd/core.c >> +++ b/drivers/usb/typec/tipd/core.c >> @@ -728,6 +728,24 @@ static int tps6598x_probe(struct i2c_client *client) >> dev_err(&client->dev, "failed to register partner\n"); >> } >> >> + if (tps->hw->use_int1) { >> + ret = tps6598x_write64(tps, TPS_REG_INT_MASK1, >> + tps->hw->irq_power_status_update | >> + tps->hw->irq_data_status_update | >> + tps->hw->irq_plug_event); >> + if (ret) >> + goto err_role_put; >> + } >> + >> + if (tps->hw->use_int2) { >> + ret = tps6598x_write64(tps, TPS_REG_INT_MASK2, >> + tps->hw->irq_power_status_update | >> + tps->hw->irq_data_status_update | >> + tps->hw->irq_plug_event); >> + if (ret) >> + goto err_role_put; >> + } > > You should first only set the mask on your board. We can then see if > it's something that should be done on other boards as well later. > Make sense, I'll only call this when the cd321x variant is probed then. Sven