Hello, This patch series gathers miscellaneous improvements for the imx290 driver. The most notable changes on the kernel side is patch 07/19 that simplifies register access, and on the userspace API side patches 14/19, 15/19 and 18/19 that extend the driver with controls and selection rectangles required by libcamera. Laurent Pinchart (19): media: i2c: imx290: Use device lock for the control handler media: i2c: imx290: Print error code when I2C transfer fails media: i2c: imx290: Specify HMAX values in decimal media: i2c: imx290: Replace macro with explicit ARRAY_SIZE() media: i2c: imx290: Drop imx290_write_buffered_reg() media: i2c: imx290: Drop regmap cache media: i2c: imx290: Support variable-sized registers media: i2c: imx290: Correct register sizes media: i2c: imx290: Simplify error handling when writing registers media: i2c: imx290: Define more register macros media: i2c: imx290: Add exposure time control media: i2c: imx290: Fix max gain value media: i2c: imx290: Split control initialization to separate function media: i2c: imx290: Implement HBLANK and VBLANK controls media: i2c: imx290: Create controls for fwnode properties media: i2c: imx290: Move registers with fixed value to init array media: i2c: imx290: Factor out format retrieval to separate function media: i2c: imx290: Add crop selection targets support media: i2c: imx290: Replace GAIN control with ANALOGUE_GAIN drivers/media/i2c/imx290.c | 781 ++++++++++++++++++++++--------------- 1 file changed, 458 insertions(+), 323 deletions(-) -- Regards, Laurent Pinchart