maru_overlay : remove Sonar violations
authorjinhyung.jo <jinhyung.jo@samsung.com>
Fri, 14 Dec 2012 09:38:07 +0000 (18:38 +0900)
committerjinhyung.jo <jinhyung.jo@samsung.com>
Fri, 14 Dec 2012 09:38:07 +0000 (18:38 +0900)
remove Sonar violations

Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
drivers/maru/maru_overlay.c

index 423e476c6b069225587a3466924f3e4504d28718..9ee2ac414d69106e0d56e0c874d5c9914d503a0c 100644 (file)
@@ -114,8 +114,9 @@ static int svo0_g_fmt_vid_overlay(struct file *file, void *priv,
 {
        unsigned int ret = 0;
 
-       if (f->type != V4L2_BUF_TYPE_VIDEO_OVERLAY)
+       if (f->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) {
                return -EINVAL;
+       }
 
        ret = readl(svo.svo_mmreg + OVERLAY_POSITION);
        svo.w0.left = ret & 0xFFFF;
@@ -137,8 +138,9 @@ static int svo1_g_fmt_vid_overlay(struct file *file, void *priv,
 {
        unsigned int ret = 0;
 
-       if (f->type != V4L2_BUF_TYPE_VIDEO_OVERLAY)
+       if (f->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) {
                return -EINVAL;
+       }
 
        ret = readl(svo.svo_mmreg + svo.reg_size / 2 + OVERLAY_POSITION);
        svo.w1.left = ret & 0xFFFF;
@@ -160,18 +162,23 @@ static int svo0_s_fmt_vid_overlay(struct file *file, void *priv,
 {
        unsigned int arg;
 
-       if (f->type != V4L2_BUF_TYPE_VIDEO_OVERLAY)
+       if (f->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) {
                return -EINVAL;
+       }
 
-       if (f->fmt.win.w.left < 0)
+       if (f->fmt.win.w.left < 0) {
                return -EINVAL;
-       if (f->fmt.win.w.top < 0)
+       }
+       if (f->fmt.win.w.top < 0) {
                return -EINVAL;
+       }
 
-       if (f->fmt.win.w.width < 0)
+       if (f->fmt.win.w.width < 0) {
                return -EINVAL;
-       if (f->fmt.win.w.height < 0)
+       }
+       if (f->fmt.win.w.height < 0) {
                return -EINVAL;
+       }
 
        svo.w0.left = f->fmt.win.w.left;
        svo.w0.top = f->fmt.win.w.top;
@@ -191,18 +198,23 @@ static int svo1_s_fmt_vid_overlay(struct file *file, void *priv,
 {
        unsigned int arg;
 
-       if (f->type != V4L2_BUF_TYPE_VIDEO_OVERLAY)
+       if (f->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) {
                return -EINVAL;
+       }
 
-       if (f->fmt.win.w.left < 0)
+       if (f->fmt.win.w.left < 0) {
                return -EINVAL;
-       if (f->fmt.win.w.top < 0)
+       }
+       if (f->fmt.win.w.top < 0) {
                return -EINVAL;
+       }
 
-       if (f->fmt.win.w.width < 0)
+       if (f->fmt.win.w.width < 0) {
                return -EINVAL;
-       if (f->fmt.win.w.height < 0)
+       }
+       if (f->fmt.win.w.height < 0) {
                return -EINVAL;
+       }
 
        svo.w1.left = f->fmt.win.w.left;
        svo.w1.top = f->fmt.win.w.top;
@@ -220,25 +232,30 @@ static int svo1_s_fmt_vid_overlay(struct file *file, void *priv,
 static int svo_reqbufs(struct file *file, void *priv,
                                  struct v4l2_requestbuffers *p)
 {
-       if (p->type != V4L2_BUF_TYPE_VIDEO_OVERLAY)
+       if (p->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) {
                return -EINVAL;
+       }
 
-       if (p->count > 1)
+       if (p->count > 1) {
                return -EINVAL;
+       }
 
-       if (p->memory != V4L2_MEMORY_MMAP)
+       if (p->memory != V4L2_MEMORY_MMAP) {
                return -EINVAL;
+       }
 
        return 0;
 }
 
 static int svo0_querybuf(struct file *file, void *priv, struct v4l2_buffer *p)
 {
-       if (p->type != V4L2_BUF_TYPE_VIDEO_OVERLAY)
+       if (p->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) {
                return -EINVAL;
+       }
 
-       if (p->index)
+       if (p->index) {
                return -EINVAL;
+       }
 
        p->length = svo.mem_size / 2;
        p->m.offset = svo.mem_start;
@@ -248,11 +265,13 @@ static int svo0_querybuf(struct file *file, void *priv, struct v4l2_buffer *p)
 
 static int svo1_querybuf(struct file *file, void *priv, struct v4l2_buffer *p)
 {
-       if (p->type != V4L2_BUF_TYPE_VIDEO_OVERLAY)
+       if (p->type != V4L2_BUF_TYPE_VIDEO_OVERLAY) {
                return -EINVAL;
+       }
 
-       if (p->index)
+       if (p->index) {
                return -EINVAL;
+       }
 
        p->length = svo.mem_size / 2;
        p->m.offset = svo.mem_start + p->length;
@@ -280,16 +299,18 @@ static int svo1_overlay(struct file *file, void *fh, unsigned int i)
 
 static int svo0_open(struct file *file)
 {
-       if (test_and_set_bit(0, &svo.in_use0))
+       if (test_and_set_bit(0, &svo.in_use0)) {
                return -EBUSY;
+       }
 
        return 0;
 }
 
 static int svo1_open(struct file *file)
 {
-       if (test_and_set_bit(0, &svo.in_use1))
+       if (test_and_set_bit(0, &svo.in_use1)) {
                return -EBUSY;
+       }
 
        return 0;
 }
@@ -311,12 +332,14 @@ static int svo_mmap(struct file *file, struct vm_area_struct *vma)
 {
        unsigned long size = vma->vm_end - vma->vm_start;
 
-       if (size > svo.mem_size)
+       if (size > svo.mem_size) {
                return -EINVAL;
+       }
 
        if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
-                               size, PAGE_SHARED))
+                               size, PAGE_SHARED)) {
                return -EAGAIN;
+       }
 
        vma->vm_ops = &svo_vm_ops;
        vma->vm_flags &= ~VM_IO;        /* not I/O memory */
@@ -398,7 +421,7 @@ static int __devinit svo_initdev(struct pci_dev *pci_dev,
 
        if (svo.pci_dev != NULL) {
                printk(KERN_ERR "svo: only one device allowed!\n");
-               goto outnotdev;
+               return ret;
        }
 
        ret = -ENOMEM;
@@ -406,13 +429,14 @@ static int __devinit svo_initdev(struct pci_dev *pci_dev,
        svo.video_dev0 = video_device_alloc();
        if (!svo.video_dev0) {
                printk(KERN_ERR "svo0: video_device_alloc() failed!\n");
-               goto outnotdev;
+               return ret;
        }
 
        svo.video_dev1 = video_device_alloc();
        if (!svo.video_dev1) {
                printk(KERN_ERR "svo1: video_device_alloc() failed!\n");
-               goto outnotdev;
+               video_device_release(svo.video_dev0);
+               return ret;
        }
 
        memcpy(svo.video_dev0, &svo0_template, sizeof(svo0_template));
@@ -425,39 +449,56 @@ static int __devinit svo_initdev(struct pci_dev *pci_dev,
        ret = pci_enable_device(svo.pci_dev);
        if (ret) {
                printk(KERN_ERR "svo: pci_enable_device failed\n");
-               goto outnotdev;
+               video_device_release(svo.video_dev0);
+               video_device_release(svo.video_dev1);
+               return ret;
        }
 
        svo.mem_start = pci_resource_start(svo.pci_dev, 0);
        svo.mem_size = pci_resource_len(svo.pci_dev, 0);
        if (!svo.mem_start) {
                printk(KERN_ERR "svo: svo has no device base address\n");
-               goto outregions;
+               pci_disable_device(svo.pci_dev);
+               video_device_release(svo.video_dev0);
+               video_device_release(svo.video_dev1);
+               return ret;
        }
-       if (!request_mem_region(pci_resource_start(svo.pci_dev, 0),
-                               pci_resource_len(svo.pci_dev, 0),
-                               "svo")) {
+       if (!request_mem_region(svo.mem_start, svo.mem_size, "svo")) {
                printk(KERN_ERR "svo: request_mem_region failed\n");
-               goto outregions;
+               pci_disable_device(svo.pci_dev);
+               video_device_release(svo.video_dev0);
+               video_device_release(svo.video_dev1);
+               return ret;
        }
 
        svo.reg_start = pci_resource_start(svo.pci_dev, 1);
        svo.reg_size = pci_resource_len(svo.pci_dev, 1);
        if (!svo.reg_start) {
                printk(KERN_ERR "svo: svo has no device base address\n");
-               goto outregions;
+               release_mem_region(svo.mem_start, svo.mem_size);
+               pci_disable_device(svo.pci_dev);
+               video_device_release(svo.video_dev0);
+               video_device_release(svo.video_dev1);
+               return ret;
        }
-       if (!request_mem_region(pci_resource_start(svo.pci_dev, 1),
-                               pci_resource_len(svo.pci_dev, 1),
-                               "svo")) {
+       if (!request_mem_region(svo.reg_start, svo.reg_size, "svo")) {
                printk(KERN_ERR "svo: request_mem_region failed\n");
-               goto outregions;
+               release_mem_region(svo.mem_start, svo.mem_size);
+               pci_disable_device(svo.pci_dev);
+               video_device_release(svo.video_dev0);
+               video_device_release(svo.video_dev1);
+               return ret;
        }
 
        svo.svo_mmreg = ioremap(svo.reg_start, svo.reg_size);
        if (!svo.svo_mmreg) {
                printk(KERN_ERR "svo: ioremap failed\n");
-               goto outremap;
+               release_mem_region(svo.reg_start, svo.reg_size);
+               release_mem_region(svo.mem_start, svo.mem_size);
+               pci_disable_device(svo.pci_dev);
+               video_device_release(svo.video_dev0);
+               video_device_release(svo.video_dev1);
+               return ret;
        }
 
        pci_write_config_byte(svo.pci_dev, PCI_CACHE_LINE_SIZE, 8);
@@ -471,32 +512,31 @@ static int __devinit svo_initdev(struct pci_dev *pci_dev,
        if (video_register_device(svo.video_dev0, VFL_TYPE_GRABBER,
                                  1) < 0) { /* set to /dev/video1 */
                printk(KERN_ERR "svo: video_register_device failed\n");
-               goto outreqirq;
+               iounmap(svo.svo_mmreg);
+               release_mem_region(svo.reg_start, svo.reg_size);
+               release_mem_region(svo.mem_start, svo.mem_size);
+               pci_disable_device(svo.pci_dev);
+               video_device_release(svo.video_dev0);
+               video_device_release(svo.video_dev1);
+               return ret;
        }
        if (video_register_device(svo.video_dev1, VFL_TYPE_GRABBER,
                                  2) < 0) { /* set to /dev/video2 */
                printk(KERN_ERR "svo: video_register_device failed\n");
-               goto outreqirq;
+               video_unregister_device(svo.video_dev0);
+               iounmap(svo.svo_mmreg);
+               release_mem_region(svo.reg_start, svo.reg_size);
+               release_mem_region(svo.mem_start, svo.mem_size);
+               pci_disable_device(svo.pci_dev);
+               video_device_release(svo.video_dev0);
+               video_device_release(svo.video_dev1);
+               return ret;
        }
 
        printk(KERN_INFO "svo: Tizen Virtual Overlay Driver v%d.%d\n",
                SVO_DRIVER_MAJORVERSION, SVO_DRIVER_MINORVERSION);
 
        return 0;
-
-outreqirq:
-       iounmap(svo.svo_mmreg);
-outremap:
-       release_mem_region(pci_resource_start(svo.pci_dev, 0),
-                          pci_resource_len(svo.pci_dev, 0));
-       release_mem_region(pci_resource_start(svo.pci_dev, 1),
-                          pci_resource_len(svo.pci_dev, 1));
-outregions:
-       pci_disable_device(svo.pci_dev);
-       video_device_release(svo.video_dev0);
-       video_device_release(svo.video_dev1);
-outnotdev:
-       return ret;
 }
 
 static struct pci_driver svo_pci_driver = {