On 9/16/19 11:26 AM, Sakari Ailus wrote: > Hi Hans, > > On Mon, Sep 16, 2019 at 11:00:46AM +0200, Hans Verkuil wrote: >> Add new macros V4L2_FOURCC_CONV and V4L2_FOURCC_ARGS for use >> in code that prints a fourcc. These macros can be used in both >> kernel and userspace. >> >> Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> >> Suggested-by: Sakari Ailus <sakari.ailus@xxxxxx> >> --- >> include/uapi/linux/videodev2.h | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h >> index 530638dffd93..7a34eb93437e 100644 >> --- a/include/uapi/linux/videodev2.h >> +++ b/include/uapi/linux/videodev2.h >> @@ -82,6 +82,19 @@ >> ((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24)) >> #define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1U << 31)) >> >> +/* >> + * Helper macros to print a fourcc in a standard format. E.g.: >> + * >> + * printf("fourcc is " V4L2_FOURCC_CONV "\n", V4L2_FOURCC_ARGS(fourcc)); >> + * >> + * Note that V4L2_FOURCC_ARGS reuses fourcc, so this can't be an >> + * expression with side-effects. >> + */ >> +#define V4L2_FOURCC_CONV "%c%c%c%c%s" >> +#define V4L2_FOURCC_ARGS(fourcc) \ >> + (fourcc) & 0x7f, ((fourcc) >> 8) & 0x7f, ((fourcc) >> 16) & 0x7f, \ >> + ((fourcc) >> 24) & 0x7f, ((fourcc) & (1U << 31) ? "-BE" : "") >> + >> /* >> * E N U M S >> */ > > KernelDoc comments would be nice. Such as in here: > > <URL:https://patchwork.linuxtv.org/patch/48372/> I was searching for old patches with the string 'fourcc', not '4cc', so that's why I missed your patch. I'll respin with that (slightly updated) patch. Regards, Hans > > I'm fine with either patch though. >