Hi everyone, This the third version of my patchset that contains: - Integer menu controls [2], - Selection IOCTL for subdevs [3], - Sensor control changes [5,7], - link_validate() media entity and V4L2 subdev pad ops, - OMAP 3 ISP driver improvements [4], - SMIA++ sensor driver, - rm680/rm696 board code (a.k.a Nokia N9 and N950) and - Other V4L2 and media improvements (see individual patches) The Docbook documentation in HTML format can be found in [11]. Changes to version 2 [10] include: - V4L2 - Image source controls - Documentation no longer refers to "pixel clock" in v4l2_mbus_framefmt (this should have been the last reference to those!!) - Capitalise first letters in control names - Selections - Use hex numbers for targets - Return NULL instead of invalid pointer when accessing non-existend pads in v4l2_subdev_get_try_{format,crop,compose} (new patch) - Put link validation definitions in v4l2-subdev.h behind #ifdef CONFIG_MEDIA_CONTROLLER ... #endif - Spelling fixes (selections and 4cc guidelines) - Change vdev_to_v4l2_subdev() return type to struct v4l2_subdev * (new patch) - SMIA++ driver - Clock tree calculation fixes - Control handler setup usage fixes at smiapp_open() - Don't access non-existent pads Changes to version 1 [8] include: - OMAP 3 ISP driver - Swapped order of csi receiver's lane definitions - Rewrote omap 3 isp link validation patches almost completely - Information on connected external entity collected to isp_pipeline - Information collected during link checking and used at streamon - Media entity link validation - Error handling fixes - SMIA++ driver - Selection API bugfixes - Report correct pixel order right from boot - Move link rate control to subdev connected to subdev external to the sensor (e.g. ISP's CSI-2 receiver) - Introduce proper serialisation - Deny changing some controls when streaming (flipping and link rate) - Control handler setup moved from streamon time to first subdev open - There is no source compose target - Bugfixes - Media bus pixel codes - Documentation fix for dpcm compressed formats - Added patch for 4CC guidelines (raw bayer only for now) - Selections - Improved selections documentation - Added more selections examples - Compose target is not available on source pads anymore [9] - Dropped default targets - V4L2 - Add documentation on link_validate() - link_validate() and relater functions depends on CONFIG_MEDIA_CONTROLLER - Skip link validation for links on which stream_count was non-zero - Do not validate link if entity's stream count is non-zero - Use v4l2_subdev_link_validate_default() if no link_validate pad op is set - Allow changing control handler mutex: this enables a driver to provide multiple subdevs but use only one mutex. Default mutex (part of struct v4l2_ctrl_handler) is set in v4l2_ctrl_handler_init(). - Split image source class into two: image source and image processing Changes to the RFC v1 [6] include: - Integer controls: - Target Linux 3.4 instead of 3.3 - Proper control type check in querymenu - vivi compile fixes - Subdev selections - Pad try fields combined to single struct - Correctly set sel.which based on crop->which in crop fall-back - Subdev selection documentation - Better explanation on image processing in subdevs - Added a diagram to visualise subdev configuration - Fixed DocBook syntax issues - Mark VIDIOC_SUBDEV_S_CROP and VIDIOC_SUBDEV_G_CROP obsolete - Pixel rate - Pixel rate is now a 64-bit control, not part of v4l2_mbus_framefmt - Unit for pixel rate is pixels / second - Pixel rate is read-only - Link frequency is now in Hz --- documented as such also - Link validation instead of pipeline validation - Each link is validated by calling link_validate op - Added link validation op to media_entity_ops - Link validation op in pad ops makes this easy for subdev drivers - media_entity_pipeline_start() may return an error code now - This might affect other drivers, but will warn in compilation. No adverse effects are caused if the driver does not use link_validate(). - OMAP 3 ISP - Make lanecfg as part of the platform data structure, not pointer - Document lane configuration structures - Link validation moved to respective subdev drivers from ispvideo.c - isp_validate_pipeline() removed - SMIA++ driver - Update pixel order based on vflip and hflip - Cleanups in the main driver, register definitions and PLL code - Depend on V4L2_V4L2_SUBDEV_API and MEDIA_CONTROLLER - Use pr_* macros instead of printk - Improved error handling for i2c_transfer() - Removed useless definitions - Don't access try crop / compose directly but use helper functions - Add xshutdown to platform data - Move driver under smiapp directory - rm680 board code - Use REGULATOR_SUPPLY() where possible - Removed printk()'s - Don't include private smiapp headers References: [1] http://www.spinics.net/lists/linux-omap/msg61295.html [2] http://www.spinics.net/lists/linux-media/msg40796.html [3] http://www.spinics.net/lists/linux-media/msg41503.html [4] http://www.spinics.net/lists/linux-media/msg41542.html [5] http://www.spinics.net/lists/linux-media/msg40861.html [6] http://www.spinics.net/lists/linux-media/msg41765.html [7] http://www.spinics.net/lists/linux-media/msg42848.html [8] http://www.spinics.net/lists/linux-media/msg42991.html [9] http://www.spinics.net/lists/linux-media/msg43810.html [10] http://www.spinics.net/lists/linux-media/msg43888.html [11] http://www.retiisi.org.uk/v4l2/tmp/media_api/ Kind regards, -- Sakari Ailus sakari.ailus@xxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html