Hi, after the discussions at [1] and [2], this series adds proper support for little-endian encoded registers. Patch 1 adds the infrastructure and patch 2 fixes imx290 driver. As v6.6 was released with imx290 broken, both should be added to stable. I just focues on fixing the endianess issue. Any future cleanup as already discussed is discarded for now. Changes in v3: * Explicitly name IMX290 as an example sensor using little-endian registers * Move CCI_REG_LE to first location on register definition * Use unsigned numbers for registers width definition * Added Laurent's and Hans' R-b Changes in v2: * Add proper Fixes/CC tags to both patches * Add little-endian support for cci_read() Best regards, Alexander [1] https://lore.kernel.org/linux-media/20231030173637.GA2977515@xxxxxxxxxxxxxxxxxxxxx/ [2] https://lore.kernel.org/linux-media/ZUIuNDTJAN_fz3q6@kekkonen.localdomain/ Alexander Stein (2): media: v4l2-cci: Add support for little-endian encoded registers media: i2c: imx290: Properly encode registers as little-endian drivers/media/i2c/imx290.c | 42 ++++++++++++++-------------- drivers/media/v4l2-core/v4l2-cci.c | 44 ++++++++++++++++++++++++------ include/media/v4l2-cci.h | 5 ++++ 3 files changed, 62 insertions(+), 29 deletions(-) -- 2.34.1