OSDN Git Service

media: rcar-vin: Handle special pixel formats in a switch
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Fri, 6 Dec 2019 16:39:31 +0000 (17:39 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 24 Feb 2020 14:20:48 +0000 (15:20 +0100)
Before extending the special pixel format handling turn the multiple if
statements into a switch.

Suggested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/rcar-vin/rcar-v4l2.c

index 5ff565e..a76472c 100644 (file)
@@ -73,11 +73,18 @@ const struct rvin_video_format *rvin_format_from_pixel(struct rvin_dev *vin,
 {
        int i;
 
-       if (vin->info->model == RCAR_M1 && pixelformat == V4L2_PIX_FMT_XBGR32)
-               return NULL;
-
-       if (pixelformat == V4L2_PIX_FMT_NV12 && !vin->info->nv12)
-               return NULL;
+       switch (pixelformat) {
+       case V4L2_PIX_FMT_XBGR32:
+               if (vin->info->model == RCAR_M1)
+                       return NULL;
+               break;
+       case V4L2_PIX_FMT_NV12:
+               if (!vin->info->nv12)
+                       return NULL;
+               break;
+       default:
+               break;
+       }
 
        for (i = 0; i < ARRAY_SIZE(rvin_formats); i++)
                if (rvin_formats[i].fourcc == pixelformat)