From: jinhyung.jo Date: Fri, 14 Dec 2012 09:38:07 +0000 (+0900) Subject: maru_overlay : remove Sonar violations X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4544e1a8bced716cee9250ae1eacdb89b32d9a68;p=sdk%2Femulator%2Femulator-kernel.git maru_overlay : remove Sonar violations remove Sonar violations Signed-off-by: Jinhyung Jo --- diff --git a/drivers/maru/maru_overlay.c b/drivers/maru/maru_overlay.c index 423e476c6b06..9ee2ac414d69 100644 --- a/drivers/maru/maru_overlay.c +++ b/drivers/maru/maru_overlay.c @@ -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 = {