This is the 2nd version of managed initializations for media/v4l2. There are small changes documented in separate patches. Additionally to advertise this solution I suggest to look at all *_remove functions in drivers/media/i2c/ tree. After conversion to devm_* versions most of the *_remove routines could be removed completely. Below grep for showing all *_remove functions from drivers/media/i2c: grep -rPzo "(?s)^(\s*)\N*_remove.*?{.*?^\1}" drivers/media/i2c/ --include='*.c' Andrzej Hajda (3): media: added managed media entity initialization media: added managed v4l2 control initialization media: added managed v4l2 subdevice initialization drivers/media/media-entity.c | 70 +++++++++++++++++++++++++++++++++ drivers/media/v4l2-core/v4l2-common.c | 10 +++++ drivers/media/v4l2-core/v4l2-ctrls.c | 48 ++++++++++++++++++++++ drivers/media/v4l2-core/v4l2-subdev.c | 52 ++++++++++++++++++++++++ include/media/media-entity.h | 6 +++ include/media/v4l2-common.h | 2 + include/media/v4l2-ctrls.h | 31 +++++++++++++++ include/media/v4l2-subdev.h | 5 +++ 8 files changed, 224 insertions(+) -- 1.7.10.4 -- 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