diff options
Diffstat (limited to 'drivers/staging/media/solo6x10')
-rw-r--r-- | drivers/staging/media/solo6x10/solo6x10-core.c | 2 | ||||
-rw-r--r-- | drivers/staging/media/solo6x10/solo6x10-g723.c | 6 | ||||
-rw-r--r-- | drivers/staging/media/solo6x10/solo6x10-tw28.c | 2 | ||||
-rw-r--r-- | drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c | 46 | ||||
-rw-r--r-- | drivers/staging/media/solo6x10/solo6x10-v4l2.c | 2 |
5 files changed, 32 insertions, 26 deletions
diff --git a/drivers/staging/media/solo6x10/solo6x10-core.c b/drivers/staging/media/solo6x10/solo6x10-core.c index 480b7c4064cc..f67046955ef6 100644 --- a/drivers/staging/media/solo6x10/solo6x10-core.c +++ b/drivers/staging/media/solo6x10/solo6x10-core.c @@ -40,7 +40,7 @@ MODULE_AUTHOR("Bluecherry <maintainers@bluecherrydvr.com>"); MODULE_VERSION(SOLO6X10_VERSION); MODULE_LICENSE("GPL"); -unsigned video_nr = -1; +static unsigned video_nr = -1; module_param(video_nr, uint, 0644); MODULE_PARM_DESC(video_nr, "videoX start number, -1 is autodetect (default)"); diff --git a/drivers/staging/media/solo6x10/solo6x10-g723.c b/drivers/staging/media/solo6x10/solo6x10-g723.c index 1db18c7972a0..74f037b6166c 100644 --- a/drivers/staging/media/solo6x10/solo6x10-g723.c +++ b/drivers/staging/media/solo6x10/solo6x10-g723.c @@ -366,8 +366,9 @@ int solo_g723_init(struct solo_dev *solo_dev) /* Allows for easier mapping between video and audio */ sprintf(name, "Softlogic%d", solo_dev->vfd->num); - ret = snd_card_create(SNDRV_DEFAULT_IDX1, name, THIS_MODULE, 0, - &solo_dev->snd_card); + ret = snd_card_new(&solo_dev->pdev->dev, + SNDRV_DEFAULT_IDX1, name, THIS_MODULE, 0, + &solo_dev->snd_card); if (ret < 0) return ret; @@ -377,7 +378,6 @@ int solo_g723_init(struct solo_dev *solo_dev) strcpy(card->shortname, "SOLO-6x10 Audio"); sprintf(card->longname, "%s on %s IRQ %d", card->shortname, pci_name(solo_dev->pdev), solo_dev->pdev->irq); - snd_card_set_dev(card, &solo_dev->pdev->dev); ret = snd_device_new(card, SNDRV_DEV_LOWLEVEL, solo_dev, &ops); if (ret < 0) diff --git a/drivers/staging/media/solo6x10/solo6x10-tw28.c b/drivers/staging/media/solo6x10/solo6x10-tw28.c index af65ea655f15..36daa1720b54 100644 --- a/drivers/staging/media/solo6x10/solo6x10-tw28.c +++ b/drivers/staging/media/solo6x10/solo6x10-tw28.c @@ -516,7 +516,7 @@ static int tw2815_setup(struct solo_dev *solo_dev, u8 dev_addr) static void saa712x_write_regs(struct solo_dev *dev, const uint8_t *vals, int start, int n) { - for (;start < n; start++, vals++) { + for (; start < n; start++, vals++) { /* Skip read-only registers */ switch (start) { /* case 0x00 ... 0x25: */ diff --git a/drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c b/drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c index ce9e5aaf7fd4..2cbe088f1697 100644 --- a/drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c +++ b/drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c @@ -399,8 +399,8 @@ static int solo_send_desc(struct solo_enc_dev *solo_enc, int skip, if (solo_enc->desc_count <= 1) return 0; - return solo_p2m_dma_desc(solo_dev, solo_enc->desc_items, solo_enc->desc_dma, - solo_enc->desc_count - 1); + return solo_p2m_dma_desc(solo_dev, solo_enc->desc_items, + solo_enc->desc_dma, solo_enc->desc_count - 1); } /* Extract values from VOP header - VE_STATUSxx */ @@ -472,8 +472,7 @@ static int solo_fill_jpeg(struct solo_enc_dev *solo_enc, if (vb2_plane_size(vb, 0) < vop_jpeg_size(vh) + solo_enc->jpeg_len) return -EIO; - frame_size = (vop_jpeg_size(vh) + solo_enc->jpeg_len + (DMA_ALIGN - 1)) - & ~(DMA_ALIGN - 1); + frame_size = ALIGN(vop_jpeg_size(vh) + solo_enc->jpeg_len, DMA_ALIGN); vb2_set_plane_payload(vb, 0, vop_jpeg_size(vh) + solo_enc->jpeg_len); /* may discard all previous data in vbuf->sgl */ @@ -506,21 +505,22 @@ static int solo_fill_mpeg(struct solo_enc_dev *solo_enc, return -EIO; /* If this is a key frame, add extra header */ - vb->v4l2_buf.flags &= ~(V4L2_BUF_FLAG_KEYFRAME | V4L2_BUF_FLAG_PFRAME | V4L2_BUF_FLAG_BFRAME); + vb->v4l2_buf.flags &= ~(V4L2_BUF_FLAG_KEYFRAME | V4L2_BUF_FLAG_PFRAME | + V4L2_BUF_FLAG_BFRAME); if (!vop_type(vh)) { skip = solo_enc->vop_len; vb->v4l2_buf.flags |= V4L2_BUF_FLAG_KEYFRAME; - vb2_set_plane_payload(vb, 0, vop_mpeg_size(vh) + solo_enc->vop_len); + vb2_set_plane_payload(vb, 0, vop_mpeg_size(vh) + + solo_enc->vop_len); } else { vb->v4l2_buf.flags |= V4L2_BUF_FLAG_PFRAME; vb2_set_plane_payload(vb, 0, vop_mpeg_size(vh)); } /* Now get the actual mpeg payload */ - frame_off = (vop_mpeg_offset(vh) - SOLO_MP4E_EXT_ADDR(solo_dev) + sizeof(*vh)) - % SOLO_MP4E_EXT_SIZE(solo_dev); - frame_size = (vop_mpeg_size(vh) + skip + (DMA_ALIGN - 1)) - & ~(DMA_ALIGN - 1); + frame_off = (vop_mpeg_offset(vh) - SOLO_MP4E_EXT_ADDR(solo_dev) + + sizeof(*vh)) % SOLO_MP4E_EXT_SIZE(solo_dev); + frame_size = ALIGN(vop_mpeg_size(vh) + skip, DMA_ALIGN); /* may discard all previous data in vbuf->sgl */ dma_map_sg(&solo_dev->pdev->dev, vbuf->sgl, vbuf->nents, @@ -589,7 +589,8 @@ static void solo_enc_handle_one(struct solo_enc_dev *solo_enc, spin_unlock_irqrestore(&solo_enc->av_lock, flags); goto unlock; } - vb = list_first_entry(&solo_enc->vidq_active, struct solo_vb2_buf, list); + vb = list_first_entry(&solo_enc->vidq_active, struct solo_vb2_buf, + list); list_del(&vb->list); spin_unlock_irqrestore(&solo_enc->av_lock, flags); @@ -645,7 +646,8 @@ static void solo_handle_ring(struct solo_dev *solo_dev) enc_buf.vh = solo_dev->vh_buf; /* Sanity check */ - if (vop_mpeg_offset(enc_buf.vh) != SOLO_MP4E_EXT_ADDR(solo_dev) + off) + if (vop_mpeg_offset(enc_buf.vh) != + SOLO_MP4E_EXT_ADDR(solo_dev) + off) continue; if (solo_motion_detected(solo_enc)) @@ -680,9 +682,11 @@ static int solo_ring_thread(void *data) return 0; } -static int solo_enc_queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, - unsigned int *num_buffers, unsigned int *num_planes, - unsigned int sizes[], void *alloc_ctxs[]) +static int solo_enc_queue_setup(struct vb2_queue *q, + const struct v4l2_format *fmt, + unsigned int *num_buffers, + unsigned int *num_planes, unsigned int sizes[], + void *alloc_ctxs[]) { sizes[0] = FRAME_BUF_SIZE; *num_planes = 1; @@ -1112,14 +1116,15 @@ static int solo_s_ctrl(struct v4l2_ctrl *ctrl) solo_enc->motion_thresh = ctrl->val; if (!solo_enc->motion_global || !solo_enc->motion_enabled) return 0; - return solo_set_motion_threshold(solo_dev, solo_enc->ch, ctrl->val); + return solo_set_motion_threshold(solo_dev, solo_enc->ch, + ctrl->val); case V4L2_CID_MOTION_MODE: solo_enc->motion_global = ctrl->val == 1; solo_enc->motion_enabled = ctrl->val > 0; if (ctrl->val) { if (solo_enc->motion_global) - solo_set_motion_threshold(solo_dev, solo_enc->ch, - solo_enc->motion_thresh); + solo_set_motion_threshold(solo_dev, + solo_enc->ch, solo_enc->motion_thresh); else solo_set_motion_block(solo_dev, solo_enc->ch, &solo_enc->motion_thresholds); @@ -1290,7 +1295,7 @@ static struct solo_enc_dev *solo_enc_alloc(struct solo_dev *solo_dev, solo_enc->vidq.mem_ops = &vb2_dma_sg_memops; solo_enc->vidq.drv_priv = solo_enc; solo_enc->vidq.gfp_flags = __GFP_DMA32; - solo_enc->vidq.timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; + solo_enc->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; solo_enc->vidq.buf_struct_size = sizeof(struct solo_vb2_buf); solo_enc->vidq.lock = &solo_enc->lock; ret = vb2_queue_init(&solo_enc->vidq); @@ -1307,7 +1312,8 @@ static struct solo_enc_dev *solo_enc_alloc(struct solo_dev *solo_dev, solo_enc->desc_nelts = 32; solo_enc->desc_items = pci_alloc_consistent(solo_dev->pdev, sizeof(struct solo_p2m_desc) * - solo_enc->desc_nelts, &solo_enc->desc_dma); + solo_enc->desc_nelts, + &solo_enc->desc_dma); ret = -ENOMEM; if (solo_enc->desc_items == NULL) goto hdl_free; diff --git a/drivers/staging/media/solo6x10/solo6x10-v4l2.c b/drivers/staging/media/solo6x10/solo6x10-v4l2.c index 47e72dac9b13..1815f765d033 100644 --- a/drivers/staging/media/solo6x10/solo6x10-v4l2.c +++ b/drivers/staging/media/solo6x10/solo6x10-v4l2.c @@ -676,7 +676,7 @@ int solo_v4l2_init(struct solo_dev *solo_dev, unsigned nr) solo_dev->vidq.ops = &solo_video_qops; solo_dev->vidq.mem_ops = &vb2_dma_contig_memops; solo_dev->vidq.drv_priv = solo_dev; - solo_dev->vidq.timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; + solo_dev->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; solo_dev->vidq.gfp_flags = __GFP_DMA32; solo_dev->vidq.buf_struct_size = sizeof(struct solo_vb2_buf); solo_dev->vidq.lock = &solo_dev->lock; |