On Mon 2021-02-08 22:09:02, Sakari Ailus wrote:
> Now that we can print FourCC codes directly using printk, make use of the
> feature in V4L2 core.
> 
> Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
> ---
>  drivers/media/v4l2-core/v4l2-ioctl.c | 85 +++++++---------------------
>  1 file changed, 21 insertions(+), 64 deletions(-)
> 
> diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c 
> b/drivers/media/v4l2-core/v4l2-ioctl.c
> index 31d1342e61e8..31662c3a8c9e 100644
> --- a/drivers/media/v4l2-core/v4l2-ioctl.c
> +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
> @@ -265,13 +265,9 @@ static void v4l_print_fmtdesc(const void *arg, bool 
> write_only)
>  {
>       const struct v4l2_fmtdesc *p = arg;
>  
> -     pr_cont("index=%u, type=%s, flags=0x%x, pixelformat=%c%c%c%c, 
> mbus_code=0x%04x, description='%.*s'\n",
> +     pr_cont("index=%u, type=%s, flags=0x%x, pixelformat=%p4cc, 
> mbus_code=0x%04x, description='%.*s'\n",

Is %p4cc really acceptable here?

The original code printed only the 4 characters. The original code
would print something like:

  index=21, type=bla, flags=0x0, pixelformat=BG12, mbus_code=0x0a9f, 
descrition="bla bla bla"

while the new code will do:

  index=21, type=bla, flags=0x0, pixelformat=BG12 little-endian (0x32314742), 
mbus_code=0x0a9f, descrition="bla bla bla"

This is much harder to parse because there are spaces also inside 
pixel_format=<value>



>               p->index, prt_names(p->type, v4l2_type_names),
> -             p->flags, (p->pixelformat & 0xff),
> -             (p->pixelformat >>  8) & 0xff,
> -             (p->pixelformat >> 16) & 0xff,
> -             (p->pixelformat >> 24) & 0xff,
> -             p->mbus_code,
> +             p->flags, &p->pixelformat, p->mbus_code,
>               (int)sizeof(p->description), p->description);
>  }
>  

Best Regards,
Petr

Reply via email to