On Fri, 30 Jan 2009, morimoto.kuninori@xxxxxxxxxxx wrote: > > Dear Guennadi > > > > On my opinion, not only calling set_bus_param but also > > > try_fmt is important for tw9910. > > > Because tw9910 needs "INTERLACE" mode, and sh_mobile_ceu > > > sets "is_interlace flag" in try_fmt. > > > > Ooh, this is wrong. As we discussed before - try_fmt shall not perform any > > configuration, it only "tries," i.e., tests, whether the specified > > configuration is possible. This has to be moved to S_FMT. > > Indeed. > But set_fmt doesn't called with "filed" now. > Can I fix it ? Hm, ok, I was thinking about this several times, to use "struct v4l2_format *fmt" instead of "__u32 pixfmt" as a second parameter to set_fmt in both host and device structs. The disadvantage of this is, that then the information in the third parameter "struct v4l2_rect *rect" becomes redundant in case of S_FMT... I think, it might be better to finally separate S_FMT and S_CROP, i.e., add new set_crop methods to both host and device structs and switch all drivers to use them... Looks like this would be a cleaner solution than keeping them together and struggling to differentiate between the two... Specific drivers can then decide to implement them using the same function internally, like, e.g., mt9m001 which doesn't use pixfmt at all, or mt9v022, which only uses it to check validity. Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer -- 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