On Thu, 28 Mar 2024 17:17:43 +0100 Andrew Lunn <andrew@xxxxxxx> wrote: > > + > > + /* Set operating mode */ > > + ret = i2c_smbus_write_word_data(client, TPS23881_REG_OP_MODE, > > 0xaaaa); > > Could you add some #defines here? This is semiauto i think? Yes > > + /* Enable detection and classification */ > > + val = 0; > > + for (i = 0; i < TPS23881_MAX_CHANS; i++) { > > + if (!port_matrix[i].exist) > > + continue; > > + > > + val |= BIT(port_matrix[i].lgcl_chan[0]) | > > + BIT(port_matrix[i].lgcl_chan[0] + 4); > > + if (port_matrix[i].is_4p) > > + val |= BIT(port_matrix[i].lgcl_chan[1]) | > > + BIT(port_matrix[i].lgcl_chan[1] + 4); > > + } > > + ret = i2c_smbus_write_word_data(client, TPS23881_REG_DET_CLA_EN, > > 0xffff); > > This looks odd. You calculate val, and then don't use it? Oh indeed, you are right! Thanks for spotting the issue. Regards, -- Köry Maincent, Bootlin Embedded Linux and kernel engineering https://bootlin.com