From: jinhyung.jo Date: Fri, 10 Aug 2012 03:02:39 +0000 (+0900) Subject: [Title] Adjust the coding convention - camera X-Git-Tag: 2.2.1_release^2~112^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=47be76ba8c24401c71f1f2d4f9aa4055f96aec12;p=sdk%2Femulator%2Femulator-kernel.git [Title] Adjust the coding convention - camera [Type] Enhancement [Module] Emulator / Camera device driver [Priority] Minor [CQ#] [Redmine#] [Problem] [Cause] [Solution] [TestCase] --- diff --git a/drivers/maru/maru_camera.c b/drivers/maru/maru_camera.c index 0434e1a2dccd..4eb7e55d24b4 100644 --- a/drivers/maru/maru_camera.c +++ b/drivers/maru/maru_camera.c @@ -5,8 +5,6 @@ * * Contact: * Jinhyung Jo - * DongKyun Yun - * YeongKyoon Lee * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -20,7 +18,8 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. * * Contributors: * - S-Core Co., Ltd @@ -52,7 +51,9 @@ #include #include -static unsigned debug = 0; +#define MARUCAM_DEBUG_LEVEL 0 + +static unsigned debug; #define marucam_err(fmt, arg...) \ printk(KERN_ERR "marucam[%s] : " fmt, __func__, ##arg) @@ -66,7 +67,8 @@ static unsigned debug = 0; #define marucam_dbg(level, fmt, arg...) \ do { \ if (debug >= (level)) \ - printk(KERN_DEBUG "marucam[%s] : " fmt, __func__, ##arg); \ + printk(KERN_DEBUG "marucam[%s] : " fmt, \ + __func__, ##arg); \ } while (0) #define MARUCAM_MODULE_NAME "marucam" @@ -75,7 +77,8 @@ static unsigned debug = 0; #define MARUCAM_MINOR_VERSION 24 #define MARUCAM_RELEASE 1 #define MARUCAM_VERSION \ - KERNEL_VERSION(MARUCAM_MAJOR_VERSION, MARUCAM_MINOR_VERSION, MARUCAM_RELEASE) + KERNEL_VERSION(MARUCAM_MAJOR_VERSION, \ + MARUCAM_MINOR_VERSION, MARUCAM_RELEASE) MODULE_DESCRIPTION("MARU Virtual Camera Driver"); MODULE_AUTHOR("Jinhyung Jo "); @@ -84,9 +87,9 @@ MODULE_LICENSE("GPL2"); #define DFL_WIDTH 640 #define DFL_HEIGHT 480 -/* ------------------------------------------------------------------ - Basic structures - ------------------------------------------------------------------*/ +/* + * Basic structures + */ #define MARUCAM_INIT 0x00 #define MARUCAM_OPEN 0x04 #define MARUCAM_CLOSE 0x08 @@ -112,7 +115,7 @@ MODULE_LICENSE("GPL2"); struct marucam_device { struct v4l2_device v4l2_dev; - spinlock_t slock; + spinlock_t slock; struct video_device *vfd; struct pci_dev *pdev; @@ -126,8 +129,8 @@ struct marucam_device { enum v4l2_buf_type type; unsigned int width; unsigned int height; - unsigned int pixelformat; - struct videobuf_queue vb_vidq; + unsigned int pixelformat; + struct videobuf_queue vb_vidq; struct list_head active; }; @@ -138,13 +141,18 @@ struct marucam_device { #define MAGIC_MARUCAM_MEM 0x18221223 -#define MAGIC_CHECK(is,should) if (unlikely((is) != (should))) \ - { marucam_err("magic mismatch: %x (expected %x)\n",is,should); BUG(); } +#define MAGIC_CHECK(is, should) \ + do { \ + if (unlikely((is) != (should))) { \ + marucam_err("magic mismatch: %x (expected %x)\n", \ + is, should); \ + BUG(); \ + } \ + } while (0) -struct videobuf_marucam_memory -{ - u32 magic; - u32 mapped; +struct videobuf_marucam_memory { + u32 magic; + u32 mapped; }; static void @@ -180,7 +188,6 @@ static void videobuf_vm_close(struct vm_area_struct *vma) mem = q->bufs[i]->priv; if (mem) { MAGIC_CHECK(mem->magic, MAGIC_MARUCAM_MEM); - mem->mapped = 0; } @@ -196,10 +203,9 @@ static void videobuf_vm_close(struct vm_area_struct *vma) return; } -static const struct vm_operations_struct videobuf_vm_ops = -{ - .open = videobuf_vm_open, - .close = videobuf_vm_close, +static const struct vm_operations_struct videobuf_vm_ops = { + .open = videobuf_vm_open, + .close = videobuf_vm_close, }; static struct videobuf_buffer *__videobuf_alloc_vb(size_t size) @@ -217,9 +223,9 @@ static struct videobuf_buffer *__videobuf_alloc_vb(size_t size) return vb; } -static int __videobuf_iolock (struct videobuf_queue* q, - struct videobuf_buffer *vb, - struct v4l2_framebuffer *fbuf) +static int __videobuf_iolock(struct videobuf_queue *q, + struct videobuf_buffer *vb, + struct v4l2_framebuffer *fbuf) { struct videobuf_marucam_memory *mem = vb->priv; @@ -254,7 +260,7 @@ static int __videobuf_mmap_mapper(struct videobuf_queue *q, return -ENOMEM; buf->map = map; - map->q = q; + map->q = q; buf->baddr = vma->vm_start; @@ -267,17 +273,18 @@ static int __videobuf_mmap_mapper(struct videobuf_queue *q, vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); retval = remap_pfn_range(vma, vma->vm_start, - (((struct marucam_device*)q->priv_data)->mem_base + vma->vm_pgoff) >> PAGE_SHIFT, - pages, vma->vm_page_prot); + (((struct marucam_device *)q->priv_data)->mem_base + + vma->vm_pgoff) >> PAGE_SHIFT, + pages, vma->vm_page_prot); if (retval < 0) { marucam_err("remap failed with error %d. ", retval); mem->mapped = 0; goto error; } - vma->vm_ops = &videobuf_vm_ops; - vma->vm_flags |= VM_DONTEXPAND | VM_RESERVED; - vma->vm_private_data = map; + vma->vm_ops = &videobuf_vm_ops; + vma->vm_flags |= VM_DONTEXPAND | VM_RESERVED; + vma->vm_private_data = map; videobuf_vm_open(vma); @@ -290,14 +297,13 @@ error: } static struct videobuf_qtype_ops qops = { - .magic = MAGIC_QTYPE_OPS, - - .alloc_vb = __videobuf_alloc_vb, - .iolock = __videobuf_iolock, - .mmap_mapper = __videobuf_mmap_mapper, + .magic = MAGIC_QTYPE_OPS, + .alloc_vb = __videobuf_alloc_vb, + .iolock = __videobuf_iolock, + .mmap_mapper = __videobuf_mmap_mapper, }; -void videobuf_queue_marucam_init(struct videobuf_queue* q, +void videobuf_queue_marucam_init(struct videobuf_queue *q, struct videobuf_queue_ops *ops, void *dev, spinlock_t *irqlock, @@ -312,28 +318,28 @@ void videobuf_queue_marucam_init(struct videobuf_queue* q, } -/* ------------------------------------------------------------------ - interrupt handling - ------------------------------------------------------------------*/ +/* + * interrupt handling + */ static int get_image_size(struct marucam_device *dev) { int size; switch (dev->pixelformat) { - case V4L2_PIX_FMT_RGB24: - case V4L2_PIX_FMT_BGR24: - size = dev->width * dev->height * 3; - break; - case V4L2_PIX_FMT_YUV420: - case V4L2_PIX_FMT_YVU420: - case V4L2_PIX_FMT_NV12: - size = (dev->width * dev->height * 3) /2; - break; - case V4L2_PIX_FMT_YUYV: - default: - size = dev->width * dev->height * 2; - break; + case V4L2_PIX_FMT_RGB24: + case V4L2_PIX_FMT_BGR24: + size = dev->width * dev->height * 3; + break; + case V4L2_PIX_FMT_YUV420: + case V4L2_PIX_FMT_YVU420: + case V4L2_PIX_FMT_NV12: + size = (dev->width * dev->height * 3) / 2; + break; + case V4L2_PIX_FMT_YUYV: + default: + size = dev->width * dev->height * 2; + break; } return size; @@ -346,14 +352,13 @@ static void marucam_fillbuf(struct marucam_device *dev) unsigned long flags = 0; spin_lock_irqsave(q->irqlock, flags); - if (list_empty(&dev->active)) { + if (list_empty(&dev->active)) goto done; - } buf = list_entry(dev->active.next, struct videobuf_buffer, queue); - if (!waitqueue_active(&buf->done)) { + if (!waitqueue_active(&buf->done)) goto done; - } + list_del(&buf->queue); buf->state = VIDEOBUF_DONE; @@ -378,9 +383,9 @@ static irqreturn_t marucam_irq_handler(int irq, void *dev_id) return IRQ_HANDLED; } -/* ------------------------------------------------------------------ - IOCTL vidioc handling - ------------------------------------------------------------------*/ +/* + * IOCTL vidioc handling + */ static int vidioc_querycap(struct file *file, void *priv, struct v4l2_capability *cap) { @@ -390,8 +395,8 @@ static int vidioc_querycap(struct file *file, void *priv, strcpy(cap->card, MARUCAM_MODULE_NAME); strlcpy(cap->bus_info, dev->v4l2_dev.name, sizeof(cap->bus_info)); cap->version = MARUCAM_VERSION; - cap->capabilities = V4L2_CAP_VIDEO_CAPTURE | - V4L2_CAP_STREAMING; + cap->capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING; + return 0; } @@ -409,11 +414,11 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, iowrite32(0, dev->mmregs + MARUCAM_ENUM_FMT); ret = ioread32(dev->mmregs + MARUCAM_ENUM_FMT); - if (ret > 0) + if (ret > 0) return -(ret); - f->index = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->flags = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->index = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->flags = ioread32(dev->mmregs + MARUCAM_G_DATA); f->pixelformat = ioread32(dev->mmregs + MARUCAM_G_DATA); ioread32_rep(dev->mmregs + MARUCAM_G_DATA, f->description, 8); @@ -429,23 +434,23 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, iowrite32(0, dev->mmregs + MARUCAM_DTC); iowrite32(0, dev->mmregs + MARUCAM_G_FMT); ret = ioread32(dev->mmregs + MARUCAM_G_FMT); - if (ret > 0) + if (ret > 0) return -(ret); - - f->fmt.pix.width = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.height = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.field = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.pixelformat = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.bytesperline = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.sizeimage = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.colorspace = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.priv = ioread32(dev->mmregs + MARUCAM_G_DATA); - - dev->pixelformat = f->fmt.pix.pixelformat; - dev->width = f->fmt.pix.width; - dev->height = f->fmt.pix.height; - dev->vb_vidq.field = f->fmt.pix.field; - dev->type = f->type; + + f->fmt.pix.width = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.height = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.field = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.pixelformat = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.bytesperline = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.sizeimage = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.colorspace = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.priv = ioread32(dev->mmregs + MARUCAM_G_DATA); + + dev->pixelformat = f->fmt.pix.pixelformat; + dev->width = f->fmt.pix.width; + dev->height = f->fmt.pix.height; + dev->vb_vidq.field = f->fmt.pix.field; + dev->type = f->type; return 0; } @@ -465,17 +470,17 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, iowrite32(0, dev->mmregs + MARUCAM_TRY_FMT); ret = ioread32(dev->mmregs + MARUCAM_TRY_FMT); - if (ret > 0) + if (ret > 0) return -(ret); - f->fmt.pix.width = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.height = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.field = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.pixelformat = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.bytesperline = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.sizeimage = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.colorspace = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.priv = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.width = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.height = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.field = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.pixelformat = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.bytesperline = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.sizeimage = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.colorspace = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.priv = ioread32(dev->mmregs + MARUCAM_G_DATA); return 0; } @@ -508,21 +513,21 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, return -(ret); } - f->fmt.pix.width = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.height = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.field = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.pixelformat = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.bytesperline = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.sizeimage = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.colorspace = ioread32(dev->mmregs + MARUCAM_G_DATA); - f->fmt.pix.priv = ioread32(dev->mmregs + MARUCAM_G_DATA); - - dev->pixelformat = f->fmt.pix.pixelformat; - dev->width = f->fmt.pix.width; - dev->height = f->fmt.pix.height; - dev->vb_vidq.field = f->fmt.pix.field; - dev->type = f->type; - + f->fmt.pix.width = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.height = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.field = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.pixelformat = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.bytesperline = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.sizeimage = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.colorspace = ioread32(dev->mmregs + MARUCAM_G_DATA); + f->fmt.pix.priv = ioread32(dev->mmregs + MARUCAM_G_DATA); + + dev->pixelformat = f->fmt.pix.pixelformat; + dev->width = f->fmt.pix.width; + dev->height = f->fmt.pix.height; + dev->vb_vidq.field = f->fmt.pix.field; + dev->type = f->type; + return 0; } @@ -533,28 +538,28 @@ static int vidioc_reqbufs(struct file *file, void *priv, dev->type = p->type; - return (videobuf_reqbufs(&dev->vb_vidq, p)); + return videobuf_reqbufs(&dev->vb_vidq, p); } static int vidioc_querybuf(struct file *file, void *priv, struct v4l2_buffer *p) { struct marucam_device *dev = priv; - return (videobuf_querybuf(&dev->vb_vidq, p)); + return videobuf_querybuf(&dev->vb_vidq, p); } static int vidioc_qbuf(struct file *file, void *priv, struct v4l2_buffer *p) { struct marucam_device *dev = priv; - return (videobuf_qbuf(&dev->vb_vidq, p)); + return videobuf_qbuf(&dev->vb_vidq, p); } static int vidioc_dqbuf(struct file *file, void *priv, struct v4l2_buffer *p) { struct marucam_device *dev = priv; - return (videobuf_dqbuf(&dev->vb_vidq, p, file->f_flags & O_NONBLOCK)); + return videobuf_dqbuf(&dev->vb_vidq, p, file->f_flags & O_NONBLOCK); } static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i) @@ -575,9 +580,9 @@ static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i) } ret = videobuf_streamon(&dev->vb_vidq); - if (ret < 0) { + if (ret < 0) marucam_err("videobuf_streamon failed!, ret = %d\n", ret); - } + return ret; } @@ -599,9 +604,8 @@ static int vidioc_streamoff(struct file *file, void *priv, enum v4l2_buf_type i) } ret = videobuf_streamoff(&dev->vb_vidq); - if (ret < 0) { + if (ret < 0) marucam_err("videobuf_streamoff failed!\n"); - } return ret; } @@ -620,21 +624,23 @@ static int vidioc_enum_input(struct file *file, void *priv, inp->type = V4L2_INPUT_TYPE_CAMERA; sprintf(inp->name, "MARU Virtual Camera %u", inp->index); - return (0); + return 0; } static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) { *i = 0; - return (0); + return 0; } static int vidioc_s_input(struct file *file, void *priv, unsigned int i) { - return (0); + return 0; } -/* --- controls ---------------------------------------------- */ +/* controls + * + */ static int vidioc_queryctrl(struct file *file, void *priv, struct v4l2_queryctrl *qc) { @@ -643,21 +649,21 @@ static int vidioc_queryctrl(struct file *file, void *priv, iowrite32(0, dev->mmregs + MARUCAM_DTC); iowrite32(qc->id, dev->mmregs + MARUCAM_S_DATA); - + iowrite32(0, dev->mmregs + MARUCAM_QCTRL); ret = ioread32(dev->mmregs + MARUCAM_QCTRL); - + if (ret > 0) return -(ret); - qc->id = ioread32(dev->mmregs + MARUCAM_G_DATA); - qc->minimum = ioread32(dev->mmregs + MARUCAM_G_DATA); - qc->maximum = ioread32(dev->mmregs + MARUCAM_G_DATA); - qc->step = ioread32(dev->mmregs + MARUCAM_G_DATA); - qc->default_value = ioread32(dev->mmregs + MARUCAM_G_DATA); - qc->flags = ioread32(dev->mmregs + MARUCAM_G_DATA); + qc->id = ioread32(dev->mmregs + MARUCAM_G_DATA); + qc->minimum = ioread32(dev->mmregs + MARUCAM_G_DATA); + qc->maximum = ioread32(dev->mmregs + MARUCAM_G_DATA); + qc->step = ioread32(dev->mmregs + MARUCAM_G_DATA); + qc->default_value = ioread32(dev->mmregs + MARUCAM_G_DATA); + qc->flags = ioread32(dev->mmregs + MARUCAM_G_DATA); ioread32_rep(dev->mmregs + MARUCAM_G_DATA, qc->name, 8); - + return 0; } @@ -672,10 +678,10 @@ static int vidioc_g_ctrl(struct file *file, void *priv, iowrite32(0, dev->mmregs + MARUCAM_G_CTRL); ret = ioread32(dev->mmregs + MARUCAM_G_CTRL); - + if (ret > 0) return -(ret); - + ctrl->value = ioread32(dev->mmregs + MARUCAM_G_DATA); return 0; @@ -686,11 +692,11 @@ static int vidioc_s_ctrl(struct file *file, void *priv, { struct marucam_device *dev = priv; uint32_t ret; - + iowrite32(0, dev->mmregs + MARUCAM_DTC); iowrite32(ctrl->id, dev->mmregs + MARUCAM_S_DATA); iowrite32(ctrl->value, dev->mmregs + MARUCAM_S_DATA); - + iowrite32(0, dev->mmregs + MARUCAM_S_CTRL); ret = ioread32(dev->mmregs + MARUCAM_S_CTRL); @@ -716,7 +722,7 @@ static int vidioc_s_parm(struct file *file, void *priv, iowrite32(0, dev->mmregs + MARUCAM_S_PARAM); ret = ioread32(dev->mmregs + MARUCAM_S_PARAM); - + if (ret > 0) return -(ret); @@ -732,18 +738,18 @@ static int vidioc_g_parm(struct file *file, void *priv, if (parm->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) return -EINVAL; - + iowrite32(0, dev->mmregs + MARUCAM_DTC); iowrite32(0, dev->mmregs + MARUCAM_G_PARAM); ret = ioread32(dev->mmregs + MARUCAM_G_PARAM); - if (ret > 0) + if (ret > 0) return -(ret); - + cp->capability = ioread32(dev->mmregs + MARUCAM_G_DATA); cp->timeperframe.numerator = ioread32(dev->mmregs + MARUCAM_G_DATA); cp->timeperframe.denominator = ioread32(dev->mmregs + MARUCAM_G_DATA); - return 0; + return 0; } static int vidioc_enum_framesizes(struct file *file, void *priv, @@ -765,7 +771,7 @@ static int vidioc_enum_framesizes(struct file *file, void *priv, fsize->discrete.width = ioread32(dev->mmregs + MARUCAM_G_DATA); fsize->discrete.height = ioread32(dev->mmregs + MARUCAM_G_DATA); - return 0; + return 0; } static int vidioc_enum_frameintervals(struct file *file, void *priv, @@ -822,7 +828,7 @@ buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb, marucam_dbg(1, "field=%d\n", field); vb->size = get_image_size(dev); - + if (0 != vb->baddr && vb->bsize < vb->size) return -EINVAL; @@ -832,10 +838,10 @@ buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb, goto fail; } - vb->width = dev->width; - vb->height = dev->height; - vb->field = field; - vb->state = VIDEOBUF_PREPARED; + vb->width = dev->width; + vb->height = dev->height; + vb->field = field; + vb->state = VIDEOBUF_PREPARED; return 0; @@ -878,23 +884,24 @@ static int marucam_open(struct file *file) struct marucam_device *dev = video_drvdata(file); int ret; - file->private_data = dev; - dev->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; - dev->pixelformat = V4L2_PIX_FMT_YUYV; - dev->width = DFL_WIDTH; - dev->height = DFL_HEIGHT; + file->private_data = dev; + dev->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + dev->pixelformat = V4L2_PIX_FMT_YUYV; + dev->width = DFL_WIDTH; + dev->height = DFL_HEIGHT; ret = request_irq(dev->pdev->irq, marucam_irq_handler, IRQF_SHARED, MARUCAM_MODULE_NAME, dev); if (ret) { - marucam_err("request_irq failed!!! irq num : %d\n", dev->pdev->irq); + marucam_err("request_irq failed!!! irq#(%d)\n", dev->pdev->irq); return ret; } videobuf_queue_marucam_init(&dev->vb_vidq, &marucam_video_qops, - &dev->pdev->dev, &dev->slock, dev->type, V4L2_FIELD_NONE, - sizeof(struct videobuf_buffer), dev, NULL); - + &dev->pdev->dev, &dev->slock, dev->type, + V4L2_FIELD_NONE, sizeof(struct videobuf_buffer), + dev, NULL); + iowrite32(0, dev->mmregs + MARUCAM_OPEN); ret = (int)ioread32(dev->mmregs + MARUCAM_OPEN); @@ -917,7 +924,7 @@ static int marucam_close(struct file *file) videobuf_mmap_free(&dev->vb_vidq); free_irq(dev->pdev->irq, dev); - + iowrite32(0, dev->mmregs + MARUCAM_CLOSE); ret = ioread32(dev->mmregs + MARUCAM_CLOSE); if (ret > 0) { @@ -944,18 +951,18 @@ marucam_poll(struct file *file, struct poll_table_struct *wait) mutex_lock(&q->vb_lock); if (q->streaming) { if (!list_empty(&q->stream)) - buf = list_entry(q->stream.next, struct videobuf_buffer, stream); + buf = list_entry(q->stream.next, + struct videobuf_buffer, stream); } if (!buf) ret = POLLERR; if (ret == 0) { poll_wait(file, &buf->done, wait); - if (buf->state == VIDEOBUF_DONE || buf->state == VIDEOBUF_ERROR) { + if (buf->state == VIDEOBUF_DONE || buf->state == VIDEOBUF_ERROR) ret = POLLIN | POLLRDNORM; - } else { + else iowrite32(buf->i, dev->mmregs + MARUCAM_REQFRAME); - } } mutex_unlock(&q->vb_lock); return ret; @@ -979,26 +986,26 @@ static int marucam_mmap(struct file *file, struct vm_area_struct *vma) } static const struct v4l2_ioctl_ops marucam_ioctl_ops = { - .vidioc_querycap = vidioc_querycap, + .vidioc_querycap = vidioc_querycap, .vidioc_enum_fmt_vid_cap = vidioc_enum_fmt_vid_cap, .vidioc_g_fmt_vid_cap = vidioc_g_fmt_vid_cap, .vidioc_try_fmt_vid_cap = vidioc_try_fmt_vid_cap, .vidioc_s_fmt_vid_cap = vidioc_s_fmt_vid_cap, - .vidioc_reqbufs = vidioc_reqbufs, - .vidioc_querybuf = vidioc_querybuf, - .vidioc_qbuf = vidioc_qbuf, - .vidioc_dqbuf = vidioc_dqbuf, - .vidioc_s_std = vidioc_s_std, - .vidioc_enum_input = vidioc_enum_input, - .vidioc_g_input = vidioc_g_input, - .vidioc_s_input = vidioc_s_input, - .vidioc_queryctrl = vidioc_queryctrl, - .vidioc_g_ctrl = vidioc_g_ctrl, - .vidioc_s_ctrl = vidioc_s_ctrl, - .vidioc_streamon = vidioc_streamon, - .vidioc_streamoff = vidioc_streamoff, - .vidioc_g_parm = vidioc_g_parm, - .vidioc_s_parm = vidioc_s_parm, + .vidioc_reqbufs = vidioc_reqbufs, + .vidioc_querybuf = vidioc_querybuf, + .vidioc_qbuf = vidioc_qbuf, + .vidioc_dqbuf = vidioc_dqbuf, + .vidioc_s_std = vidioc_s_std, + .vidioc_enum_input = vidioc_enum_input, + .vidioc_g_input = vidioc_g_input, + .vidioc_s_input = vidioc_s_input, + .vidioc_queryctrl = vidioc_queryctrl, + .vidioc_g_ctrl = vidioc_g_ctrl, + .vidioc_s_ctrl = vidioc_s_ctrl, + .vidioc_streamon = vidioc_streamon, + .vidioc_streamoff = vidioc_streamoff, + .vidioc_g_parm = vidioc_g_parm, + .vidioc_s_parm = vidioc_s_parm, .vidioc_enum_framesizes = vidioc_enum_framesizes, .vidioc_enum_frameintervals = vidioc_enum_frameintervals, }; @@ -1024,22 +1031,17 @@ static struct video_device marucam_video_dev = { Initialization and module stuff ------------------------------------------------------------------*/ -static struct pci_device_id marucam_pci_id_tbl[] = { - { - .vendor = PCI_VENDOR_ID_TIZEN, - .device = PCI_DEVICE_ID_VIRTUAL_CAMERA, - .subvendor = PCI_ANY_ID, - .subdevice = PCI_ANY_ID, - } -}; +DEFINE_PCI_DEVICE_TABLE(marucam_pci_id_tbl) = { + { PCI_DEVICE(PCI_VENDOR_ID_TIZEN, PCI_DEVICE_ID_VIRTUAL_CAMERA) } }; -MODULE_DEVICE_TABLE(pci, marucam_pci_id_tbl); - -static int marucam_pci_initdev(struct pci_dev *pdev, const struct pci_device_id *id) +static int marucam_pci_initdev(struct pci_dev *pdev, + const struct pci_device_id *id) { int ret; struct marucam_device *dev; + debug = MARUCAM_DEBUG_LEVEL; + dev = kzalloc(sizeof(struct marucam_device), GFP_KERNEL); if (!dev) return -ENOMEM; @@ -1052,19 +1054,19 @@ static int marucam_pci_initdev(struct pci_dev *pdev, const struct pci_device_id spin_lock_init(&dev->slock); dev->pdev = pdev; - + ret = -ENOMEM; dev->vfd = video_device_alloc(); if (!dev->vfd) { marucam_err("video_device_alloc() failed!!\n"); goto out_unreg; } - + memcpy(dev->vfd, &marucam_video_dev, sizeof(marucam_video_dev)); dev->vfd->parent = &dev->pdev->dev; dev->vfd->v4l2_dev = &dev->v4l2_dev; - + ret = pci_enable_device(dev->pdev); if (ret) goto rel_vdev; @@ -1073,30 +1075,32 @@ static int marucam_pci_initdev(struct pci_dev *pdev, const struct pci_device_id ret = -EIO; dev->mem_base = pci_resource_start(dev->pdev, 0); dev->mem_size = pci_resource_len(dev->pdev, 0); - + if (!dev->mem_base) { marucam_err("pci_resource_start failed!!\n"); goto out_disable; } - if (!request_mem_region(dev->mem_base, dev->mem_size, MARUCAM_MODULE_NAME)) { + if (!request_mem_region(dev->mem_base, dev->mem_size, + MARUCAM_MODULE_NAME)) { marucam_err("request_mem_region(mem) failed!!\n"); goto out_disable; - } + } dev->io_base = pci_resource_start(dev->pdev, 1); dev->io_size = pci_resource_len(dev->pdev, 1); - + if (!dev->io_base) { marucam_err("pci_resource_start failed!!\n"); goto out_rel_mem_region; } - if (!request_mem_region(dev->io_base, dev->io_size, MARUCAM_MODULE_NAME)) { + if (!request_mem_region(dev->io_base, dev->io_size, + MARUCAM_MODULE_NAME)) { marucam_err("request_mem_region(io) failed!!\n"); goto out_disable; } - + dev->mmregs = ioremap(dev->io_base, dev->io_size); if (!dev->mmregs) { marucam_err("ioremap failed!!\n"); @@ -1111,11 +1115,10 @@ static int marucam_pci_initdev(struct pci_dev *pdev, const struct pci_device_id video_set_drvdata(dev->vfd, dev); pci_set_drvdata(pdev, dev); - snprintf(dev->vfd->name, sizeof(dev->vfd->name), "%s (%i)", + snprintf(dev->vfd->name, sizeof(dev->vfd->name), "%s (%i)", marucam_video_dev.name, dev->vfd->num); - v4l2_info(&dev->v4l2_dev, "V4L2 device registerd as /dev/video%d\n", - dev->vfd->num); + marucam_info("V4L2 device registerd as /dev/video%d\n", dev->vfd->num); return 0; @@ -1133,7 +1136,7 @@ out_unreg: v4l2_device_unregister(&dev->v4l2_dev); out_free: kfree(dev); - + return ret; } @@ -1147,12 +1150,12 @@ static void marucam_pci_removedev(struct pci_dev *pdev) } video_unregister_device(dev->vfd); - + if (dev->mmregs) { iounmap(dev->mmregs); dev->mmregs = 0; } - + if (dev->io_base) { release_mem_region(dev->io_base, dev->io_size); dev->io_base = 0; @@ -1176,16 +1179,16 @@ static struct pci_driver marucam_pci_driver = { static int __init marucam_init(void) { int ret = 0; - + ret = pci_register_driver(&marucam_pci_driver); if (ret < 0) { marucam_info("Error %d while loading marucam driver\n", ret); return ret; } - marucam_info("MARU Virtual Camera Driver ver %u.%u.%u successfully loaded.\n", - (MARUCAM_VERSION >> 16) & 0xFF, (MARUCAM_VERSION >> 8) & 0xFF, - MARUCAM_VERSION & 0xFF); + marucam_info("MARU Camera Driver ver %u.%u.%u successfully loaded.\n", + (MARUCAM_VERSION >> 16) & 0xFF, (MARUCAM_VERSION >> 8) & 0xFF, + MARUCAM_VERSION & 0xFF); return ret; }