Hi! This series introduces i2c communication with the imx290 sensor during probe s.t. the v4l2 subdev is not initialized when the chip is not reachable. The datasheets show that INCKSEL* registers have a different default value after reset on imx290[1] and imx327[2], however I am not sure if this is a sufficient identification option - therefore I just removed the current CHIP_ID register for now. Thank you all for the feedback and the discussion, I updated the series to remove the trial and errors and reduced it to the suggested parts. thanks & regards Benjamin [1] https://static6.arrow.com/aropdfconversion/c0c7efde6571c768020a72f59b226308b9669e45/sony_imx290lqr-c_datasheet.pdf [2] https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/138/IMX327LQR_2D00_C_5F00_TechnicalDatasheet_5F00_E_5F00_Rev0.2.pdf --- Changes in v4: - old 1/7 is dropped due to the reuse of stop_streaming() - old 2+4/7 are dropped due to forcing the subdev into an invalid state - old 3/7 -> new 1/3: unchanged - old 5/7 -> new 2/3: only uses the runtime PM to avoid communication - old 6/7 -> new 3/3: uses stop_streaming() to prepare the sensor. This function returns the return value of the cci_write() and is probably more suitable than only setting the sensor to standby. - old 7/7 is dropped, as the regulator enable detection is not really suitable for the "flashing privacy LED" avoidance. - Link to v3: https://lore.kernel.org/r/20240902-imx290-avail-v3-0-b32a12799fed@xxxxxxxxxxx Changes in v3: - probably better readable in the overview - 1/2 -> 1+6/7 - 2/2 -> 3/7 (added R-b - thx for that) - others are new based on the discussions/suggestions - Link to v2: https://lore.kernel.org/r/20240828-imx290-avail-v2-0-bd320ac8e8fa@xxxxxxxxxxx Changes in v2: - dropped 1/2 to ignore the read value in cci_read() (old 2/2 -> new 1/2) - 1/2: read-back standby mode instead and ensure that it is really in standby - new 2/2: drop chip_id register definition which seems to be incorrect - Link to v1: https://lore.kernel.org/r/20240807-imx290-avail-v1-0-666c130c7601@xxxxxxxxxxx --- Benjamin Bara (3): media: i2c: imx290: Remove CHIP_ID reg definition media: i2c: imx290: Avoid communication during probe() media: i2c: imx290: Check for availability in probe() drivers/media/i2c/imx290.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) --- base-commit: eec5d86d5bac6b3e972eb9c1898af3c08303c52d change-id: 20240807-imx290-avail-85795c27d988 Best regards, -- Benjamin Bara <benjamin.bara@xxxxxxxxxxx>