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. thanks, -- heikki