Hi, Here is a "small" series that mostly cleans up the ov5640 driver code, slowly getting rid of the big data array for more understandable code (hopefully). The biggest addition would be the clock rate computation at runtime, instead of relying on those arrays to setup the clock tree properly. As a side effect, it fixes the framerate that was off by around 10% on the smaller resolutions, and we now support 60fps. This also introduces a bunch of new features. Let me know what you think, Maxime Maxime Ripard (10): media: ov5640: Don't force the auto exposure state at start time media: ov5640: Init properly the SCLK dividers media: ov5640: Change horizontal and vertical resolutions name media: ov5640: Add horizontal and vertical totals media: ov5640: Program the visible resolution media: ov5640: Adjust the clock based on the expected rate media: ov5640: Compute the clock rate at runtime media: ov5640: Enhance FPS handling media: ov5640: Add 60 fps support media: ov5640: Remove duplicate auto-exposure setup Mylène Josserand (2): media: ov5640: Add auto-focus feature media: ov5640: Add light frequency control drivers/media/i2c/ov5640.c | 777 ++++++++++++++++++++++++++------------------- 1 file changed, 452 insertions(+), 325 deletions(-) -- 2.14.3