> Am 01.06.2019 um 23:57 schrieb Linus Walleij <linus.walleij@xxxxxxxxxx>: > > On Fri, May 31, 2019 at 7:06 PM H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> wrote: > >> Now, this was not a (visible) problem until patch >> >> 8b9f9d4dc511 regmap: verify if register is writeable before writing operations >> >> enforces to check the register number before invoking the >> callback pca953x_writeable_register(). pca953x_writeable_register() >> seems to know about REG_ADDR_AI (through reg & REG_ADDR_MASK) and >> accepts 0x88 as a valid register number. >> >> After the regmap patch the register is checked against >> pca953x_i2c_regmap.max_register before applying REG_ADDR_MASK >> and 0x88 is obviously beyond, explaining the symptom. > > Can we simply bump the .max_register in > pca953x_i2c_regmap to 0xff for a quick fix with a comment > FIXME to figure it out the right way? Yes, that might be a quick workaround closer to the correct code location in the driver. There seem not to be many regmap accesses with randomly toggled REG_ADDR_AI bit and therefore risk of seeing two different cache entries where they would assume the same is low (and not higher than before we fix anything). I'll give it a try asap. BR, Nikolaus