Skip to content

Commit 417a9ef

Browse files
committed
Merge branch 'v4l_for_2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'v4l_for_2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: V4L/DVB: pxa_camera: move fifo reset direct before dma start V4L/DVB: video: testing unsigned for less than 0 V4L/DVB: mx1-camera: compile fix V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference" V4L/DVB: ngene: Workaround for stuck DiSEqC pin V4L/DVB: saa7146: fix regression of the av7110/budget-av driver V4L/DVB: v4l: fix config dependencies: mxb and saa7191 are V4L2 drivers, not V4L1 V4L/DVB: feature-removal: announce videotext.h removal V4L/DVB: V4L - vpfe capture - fix for kernel crash V4L/DVB: gspca: make usb id 0461:0815 get handled by the right driver V4L/DVB: gspca - stv06xx: Remove the 046d:08da from the stv06xx driver V4L/DVB: gspca - sn9c20x: Correct onstack wait_queue_head declaration V4L/DVB: saa7146: fix up bytesperline if it is an impossible value V4L/DVB: V4L: vpfe_capture - free ccdc_lock when memory allocation fails V4L/DVB: V4L - Makfile:Removed duplicate entry of davinci V4L/DVB: omap24xxcam: potential buffer overflow
2 parents 91bc482 + a47f6be commit 417a9ef

File tree

21 files changed

+90
-65
lines changed

21 files changed

+90
-65
lines changed

Documentation/feature-removal-schedule.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -589,3 +589,26 @@ Why: Useful in 2003, implementation is a hack.
589589
Generally invoked by accident today.
590590
Seen as doing more harm than good.
591591
Who: Len Brown <len.brown@intel.com>
592+
593+
----------------------------
594+
595+
What: video4linux /dev/vtx teletext API support
596+
When: 2.6.35
597+
Files: drivers/media/video/saa5246a.c drivers/media/video/saa5249.c
598+
include/linux/videotext.h
599+
Why: The vtx device nodes have been superseded by vbi device nodes
600+
for many years. No applications exist that use the vtx support.
601+
Of the two i2c drivers that actually support this API the saa5249
602+
has been impossible to use for a year now and no known hardware
603+
that supports this device exists. The saa5246a is theoretically
604+
supported by the old mxb boards, but it never actually worked.
605+
606+
In summary: there is no hardware that can use this API and there
607+
are no applications actually implementing this API.
608+
609+
The vtx support still reserves minors 192-223 and we would really
610+
like to reuse those for upcoming new functionality. In the unlikely
611+
event that new hardware appears that wants to use the functionality
612+
provided by the vtx API, then that functionality should be build
613+
around the sliced VBI API instead.
614+
Who: Hans Verkuil <hverkuil@xs4all.nl>

arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,13 @@
3131
#define DMA_MODE_WRITE 1
3232
#define DMA_MODE_MASK 1
3333

34-
#define DMA_BASE IO_ADDRESS(DMA_BASE_ADDR)
34+
#define MX1_DMA_REG(offset) MX1_IO_ADDRESS(MX1_DMA_BASE_ADDR + (offset))
35+
36+
/* DMA Interrupt Mask Register */
37+
#define MX1_DMA_DIMR MX1_DMA_REG(0x08)
38+
39+
/* Channel Control Register */
40+
#define MX1_DMA_CCR(x) MX1_DMA_REG(0x8c + ((x) << 6))
3541

3642
#define IMX_DMA_MEMSIZE_32 (0 << 4)
3743
#define IMX_DMA_MEMSIZE_8 (1 << 4)

drivers/media/common/saa7146_fops.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -423,15 +423,14 @@ static void vv_callback(struct saa7146_dev *dev, unsigned long status)
423423
}
424424
}
425425

426-
int saa7146_vv_devinit(struct saa7146_dev *dev)
427-
{
428-
return v4l2_device_register(&dev->pci->dev, &dev->v4l2_dev);
429-
}
430-
EXPORT_SYMBOL_GPL(saa7146_vv_devinit);
431-
432426
int saa7146_vv_init(struct saa7146_dev* dev, struct saa7146_ext_vv *ext_vv)
433427
{
434428
struct saa7146_vv *vv;
429+
int err;
430+
431+
err = v4l2_device_register(&dev->pci->dev, &dev->v4l2_dev);
432+
if (err)
433+
return err;
435434

436435
vv = kzalloc(sizeof(struct saa7146_vv), GFP_KERNEL);
437436
if (vv == NULL) {

drivers/media/common/saa7146_video.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -558,9 +558,11 @@ static int vidioc_s_fbuf(struct file *file, void *fh, struct v4l2_framebuffer *f
558558
/* ok, accept it */
559559
vv->ov_fb = *fb;
560560
vv->ov_fmt = fmt;
561-
if (0 == vv->ov_fb.fmt.bytesperline)
562-
vv->ov_fb.fmt.bytesperline =
563-
vv->ov_fb.fmt.width * fmt->depth / 8;
561+
562+
if (vv->ov_fb.fmt.bytesperline < vv->ov_fb.fmt.width) {
563+
vv->ov_fb.fmt.bytesperline = vv->ov_fb.fmt.width * fmt->depth / 8;
564+
DEB_D(("setting bytesperline to %d\n", vv->ov_fb.fmt.bytesperline));
565+
}
564566

565567
mutex_unlock(&dev->lock);
566568
return 0;

drivers/media/dvb/frontends/stv090x.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4470,6 +4470,10 @@ static int stv090x_setup(struct dvb_frontend *fe)
44704470
if (stv090x_write_reg(state, STV090x_TSTRES0, 0x00) < 0)
44714471
goto err;
44724472

4473+
/* workaround for stuck DiSEqC output */
4474+
if (config->diseqc_envelope_mode)
4475+
stv090x_send_diseqc_burst(fe, SEC_MINI_A);
4476+
44734477
return 0;
44744478
err:
44754479
dprintk(FE_ERROR, 1, "I/O error");

drivers/media/dvb/ttpci/budget.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -643,9 +643,6 @@ static void frontend_init(struct budget *budget)
643643
&budget->i2c_adap,
644644
&tt1600_isl6423_config);
645645

646-
} else {
647-
dvb_frontend_detach(budget->dvb_frontend);
648-
budget->dvb_frontend = NULL;
649646
}
650647
}
651648
break;

drivers/media/video/Kconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ config VIDEO_SAA717X
361361

362362
config VIDEO_SAA7191
363363
tristate "Philips SAA7191 video decoder"
364-
depends on VIDEO_V4L1 && I2C
364+
depends on VIDEO_V4L2 && I2C
365365
---help---
366366
Support for the Philips SAA7191 video decoder.
367367

@@ -756,7 +756,7 @@ source "drivers/media/video/saa7134/Kconfig"
756756

757757
config VIDEO_MXB
758758
tristate "Siemens-Nixdorf 'Multimedia eXtension Board'"
759-
depends on PCI && VIDEO_V4L1 && I2C
759+
depends on PCI && VIDEO_V4L2 && I2C
760760
select VIDEO_SAA7146_VV
761761
select VIDEO_TUNER
762762
select VIDEO_SAA711X if VIDEO_HELPER_CHIPS_AUTO

drivers/media/video/Makefile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,6 @@ obj-$(CONFIG_VIDEO_MX3) += mx3_camera.o
160160
obj-$(CONFIG_VIDEO_PXA27x) += pxa_camera.o
161161
obj-$(CONFIG_VIDEO_SH_MOBILE_CEU) += sh_mobile_ceu_camera.o
162162

163-
obj-$(CONFIG_ARCH_DAVINCI) += davinci/
164-
165163
obj-$(CONFIG_VIDEO_AU0828) += au0828/
166164

167165
obj-$(CONFIG_USB_VIDEO_CLASS) += uvc/

drivers/media/video/davinci/vpfe_capture.c

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,6 @@ int vpfe_register_ccdc_device(struct ccdc_hw_device *dev)
223223
BUG_ON(!dev->hw_ops.get_frame_format);
224224
BUG_ON(!dev->hw_ops.get_pixel_format);
225225
BUG_ON(!dev->hw_ops.set_pixel_format);
226-
BUG_ON(!dev->hw_ops.set_params);
227226
BUG_ON(!dev->hw_ops.set_image_window);
228227
BUG_ON(!dev->hw_ops.get_image_window);
229228
BUG_ON(!dev->hw_ops.get_line_length);
@@ -1689,11 +1688,12 @@ static long vpfe_param_handler(struct file *file, void *priv,
16891688
struct vpfe_device *vpfe_dev = video_drvdata(file);
16901689
int ret = 0;
16911690

1692-
v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev, "vpfe_param_handler\n");
1691+
v4l2_dbg(2, debug, &vpfe_dev->v4l2_dev, "vpfe_param_handler\n");
16931692

16941693
if (vpfe_dev->started) {
16951694
/* only allowed if streaming is not started */
1696-
v4l2_err(&vpfe_dev->v4l2_dev, "device already started\n");
1695+
v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev,
1696+
"device already started\n");
16971697
return -EBUSY;
16981698
}
16991699

@@ -1705,16 +1705,23 @@ static long vpfe_param_handler(struct file *file, void *priv,
17051705
case VPFE_CMD_S_CCDC_RAW_PARAMS:
17061706
v4l2_warn(&vpfe_dev->v4l2_dev,
17071707
"VPFE_CMD_S_CCDC_RAW_PARAMS: experimental ioctl\n");
1708-
ret = ccdc_dev->hw_ops.set_params(param);
1709-
if (ret) {
1710-
v4l2_err(&vpfe_dev->v4l2_dev,
1711-
"Error in setting parameters in CCDC\n");
1712-
goto unlock_out;
1713-
}
1714-
if (vpfe_get_ccdc_image_format(vpfe_dev, &vpfe_dev->fmt) < 0) {
1715-
v4l2_err(&vpfe_dev->v4l2_dev,
1716-
"Invalid image format at CCDC\n");
1717-
goto unlock_out;
1708+
if (ccdc_dev->hw_ops.set_params) {
1709+
ret = ccdc_dev->hw_ops.set_params(param);
1710+
if (ret) {
1711+
v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev,
1712+
"Error setting parameters in CCDC\n");
1713+
goto unlock_out;
1714+
}
1715+
if (vpfe_get_ccdc_image_format(vpfe_dev,
1716+
&vpfe_dev->fmt) < 0) {
1717+
v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev,
1718+
"Invalid image format at CCDC\n");
1719+
goto unlock_out;
1720+
}
1721+
} else {
1722+
ret = -EINVAL;
1723+
v4l2_dbg(1, debug, &vpfe_dev->v4l2_dev,
1724+
"VPFE_CMD_S_CCDC_RAW_PARAMS not supported\n");
17181725
}
17191726
break;
17201727
default:
@@ -1830,7 +1837,7 @@ static __init int vpfe_probe(struct platform_device *pdev)
18301837
if (NULL == ccdc_cfg) {
18311838
v4l2_err(pdev->dev.driver,
18321839
"Memory allocation failed for ccdc_cfg\n");
1833-
goto probe_free_dev_mem;
1840+
goto probe_free_lock;
18341841
}
18351842

18361843
strncpy(ccdc_cfg->name, vpfe_cfg->ccdc, 32);
@@ -1982,8 +1989,9 @@ static __init int vpfe_probe(struct platform_device *pdev)
19821989
probe_out_release_irq:
19831990
free_irq(vpfe_dev->ccdc_irq0, vpfe_dev);
19841991
probe_free_ccdc_cfg_mem:
1985-
mutex_unlock(&ccdc_lock);
19861992
kfree(ccdc_cfg);
1993+
probe_free_lock:
1994+
mutex_unlock(&ccdc_lock);
19871995
probe_free_dev_mem:
19881996
kfree(vpfe_dev);
19891997
return ret;

drivers/media/video/gspca/sn9c20x.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1427,7 +1427,7 @@ static int input_kthread(void *data)
14271427
struct gspca_dev *gspca_dev = (struct gspca_dev *)data;
14281428
struct sd *sd = (struct sd *) gspca_dev;
14291429

1430-
DECLARE_WAIT_QUEUE_HEAD(wait);
1430+
DECLARE_WAIT_QUEUE_HEAD_ONSTACK(wait);
14311431
set_freezable();
14321432
for (;;) {
14331433
if (kthread_should_stop())

drivers/media/video/gspca/spca508.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1513,7 +1513,6 @@ static const struct sd_desc sd_desc = {
15131513
static const __devinitdata struct usb_device_id device_table[] = {
15141514
{USB_DEVICE(0x0130, 0x0130), .driver_info = HamaUSBSightcam},
15151515
{USB_DEVICE(0x041e, 0x4018), .driver_info = CreativeVista},
1516-
{USB_DEVICE(0x0461, 0x0815), .driver_info = MicroInnovationIC200},
15171516
{USB_DEVICE(0x0733, 0x0110), .driver_info = ViewQuestVQ110},
15181517
{USB_DEVICE(0x0af9, 0x0010), .driver_info = HamaUSBSightcam},
15191518
{USB_DEVICE(0x0af9, 0x0011), .driver_info = HamaUSBSightcam2},

drivers/media/video/gspca/spca561.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1053,6 +1053,7 @@ static const __devinitdata struct usb_device_id device_table[] = {
10531053
{USB_DEVICE(0x041e, 0x401a), .driver_info = Rev072A},
10541054
{USB_DEVICE(0x041e, 0x403b), .driver_info = Rev012A},
10551055
{USB_DEVICE(0x0458, 0x7004), .driver_info = Rev072A},
1056+
{USB_DEVICE(0x0461, 0x0815), .driver_info = Rev072A},
10561057
{USB_DEVICE(0x046d, 0x0928), .driver_info = Rev012A},
10571058
{USB_DEVICE(0x046d, 0x0929), .driver_info = Rev012A},
10581059
{USB_DEVICE(0x046d, 0x092a), .driver_info = Rev012A},

drivers/media/video/gspca/stv06xx/stv06xx.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -524,8 +524,6 @@ static const __devinitdata struct usb_device_id device_table[] = {
524524
{USB_DEVICE(0x046D, 0x08F5), .driver_info = BRIDGE_ST6422 },
525525
/* QuickCam Messenger (new) */
526526
{USB_DEVICE(0x046D, 0x08F6), .driver_info = BRIDGE_ST6422 },
527-
/* QuickCam Messenger (new) */
528-
{USB_DEVICE(0x046D, 0x08DA), .driver_info = BRIDGE_ST6422 },
529527
{}
530528
};
531529
MODULE_DEVICE_TABLE(usb, device_table);

drivers/media/video/hexium_gemini.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -356,9 +356,6 @@ static int hexium_attach(struct saa7146_dev *dev, struct saa7146_pci_extension_d
356356

357357
DEB_EE((".\n"));
358358

359-
ret = saa7146_vv_devinit(dev);
360-
if (ret)
361-
return ret;
362359
hexium = kzalloc(sizeof(struct hexium), GFP_KERNEL);
363360
if (NULL == hexium) {
364361
printk("hexium_gemini: not enough kernel memory in hexium_attach().\n");

drivers/media/video/hexium_orion.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -216,10 +216,6 @@ static int hexium_probe(struct saa7146_dev *dev)
216216
return -EFAULT;
217217
}
218218

219-
err = saa7146_vv_devinit(dev);
220-
if (err)
221-
return err;
222-
223219
hexium = kzalloc(sizeof(struct hexium), GFP_KERNEL);
224220
if (NULL == hexium) {
225221
printk("hexium_orion: hexium_probe: not enough kernel memory.\n");

drivers/media/video/mx1_camera.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@
4949
/*
5050
* CSI registers
5151
*/
52-
#define DMA_CCR(x) (0x8c + ((x) << 6)) /* Control Registers */
53-
#define DMA_DIMR 0x08 /* Interrupt mask Register */
5452
#define CSICR1 0x00 /* CSI Control Register 1 */
5553
#define CSISR 0x08 /* CSI Status Register */
5654
#define CSIRXR 0x10 /* CSI RxFIFO Register */
@@ -784,7 +782,7 @@ static int __init mx1_camera_probe(struct platform_device *pdev)
784782
pcdev);
785783

786784
imx_dma_config_channel(pcdev->dma_chan, IMX_DMA_TYPE_FIFO,
787-
IMX_DMA_MEMSIZE_32, DMA_REQ_CSI_R, 0);
785+
IMX_DMA_MEMSIZE_32, MX1_DMA_REQ_CSI_R, 0);
788786
/* burst length : 16 words = 64 bytes */
789787
imx_dma_config_burstlen(pcdev->dma_chan, 0);
790788

@@ -798,8 +796,8 @@ static int __init mx1_camera_probe(struct platform_device *pdev)
798796
set_fiq_handler(&mx1_camera_sof_fiq_start, &mx1_camera_sof_fiq_end -
799797
&mx1_camera_sof_fiq_start);
800798

801-
regs.ARM_r8 = DMA_BASE + DMA_DIMR;
802-
regs.ARM_r9 = DMA_BASE + DMA_CCR(pcdev->dma_chan);
799+
regs.ARM_r8 = (long)MX1_DMA_DIMR;
800+
regs.ARM_r9 = (long)MX1_DMA_CCR(pcdev->dma_chan);
803801
regs.ARM_r10 = (long)pcdev->base + CSICR1;
804802
regs.ARM_fp = (long)pcdev->base + CSISR;
805803
regs.ARM_sp = 1 << pcdev->dma_chan;

drivers/media/video/mxb.c

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,7 @@ static struct saa7146_extension extension;
169169
static int mxb_probe(struct saa7146_dev *dev)
170170
{
171171
struct mxb *mxb = NULL;
172-
int err;
173172

174-
err = saa7146_vv_devinit(dev);
175-
if (err)
176-
return err;
177173
mxb = kzalloc(sizeof(struct mxb), GFP_KERNEL);
178174
if (mxb == NULL) {
179175
DEB_D(("not enough kernel memory.\n"));
@@ -699,14 +695,17 @@ static struct saa7146_ext_vv vv_data;
699695
/* this function only gets called when the probing was successful */
700696
static int mxb_attach(struct saa7146_dev *dev, struct saa7146_pci_extension_data *info)
701697
{
702-
struct mxb *mxb = (struct mxb *)dev->ext_priv;
698+
struct mxb *mxb;
703699

704700
DEB_EE(("dev:%p\n", dev));
705701

706-
/* checking for i2c-devices can be omitted here, because we
707-
already did this in "mxb_vl42_probe" */
708-
709702
saa7146_vv_init(dev, &vv_data);
703+
if (mxb_probe(dev)) {
704+
saa7146_vv_release(dev);
705+
return -1;
706+
}
707+
mxb = (struct mxb *)dev->ext_priv;
708+
710709
vv_data.ops.vidioc_queryctrl = vidioc_queryctrl;
711710
vv_data.ops.vidioc_g_ctrl = vidioc_g_ctrl;
712711
vv_data.ops.vidioc_s_ctrl = vidioc_s_ctrl;
@@ -726,6 +725,7 @@ static int mxb_attach(struct saa7146_dev *dev, struct saa7146_pci_extension_data
726725
vv_data.ops.vidioc_default = vidioc_default;
727726
if (saa7146_register_device(&mxb->video_dev, dev, "mxb", VFL_TYPE_GRABBER)) {
728727
ERR(("cannot register capture v4l2 device. skipping.\n"));
728+
saa7146_vv_release(dev);
729729
return -1;
730730
}
731731

@@ -846,7 +846,6 @@ static struct saa7146_extension extension = {
846846
.pci_tbl = &pci_tbl[0],
847847
.module = THIS_MODULE,
848848

849-
.probe = mxb_probe,
850849
.attach = mxb_attach,
851850
.detach = mxb_detach,
852851

drivers/media/video/omap24xxcam.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1405,7 +1405,7 @@ static int omap24xxcam_mmap_buffers(struct file *file,
14051405
}
14061406

14071407
size = 0;
1408-
for (i = first; i <= last; i++) {
1408+
for (i = first; i <= last && i < VIDEO_MAX_FRAME; i++) {
14091409
struct videobuf_dmabuf *dma = videobuf_to_dma(vbq->bufs[i]);
14101410

14111411
for (j = 0; j < dma->sglen; j++) {

drivers/media/video/pxa_camera.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -609,12 +609,9 @@ static void pxa_dma_add_tail_buf(struct pxa_camera_dev *pcdev,
609609
*/
610610
static void pxa_camera_start_capture(struct pxa_camera_dev *pcdev)
611611
{
612-
unsigned long cicr0, cifr;
612+
unsigned long cicr0;
613613

614614
dev_dbg(pcdev->soc_host.v4l2_dev.dev, "%s\n", __func__);
615-
/* Reset the FIFOs */
616-
cifr = __raw_readl(pcdev->base + CIFR) | CIFR_RESET_F;
617-
__raw_writel(cifr, pcdev->base + CIFR);
618615
/* Enable End-Of-Frame Interrupt */
619616
cicr0 = __raw_readl(pcdev->base + CICR0) | CICR0_ENB;
620617
cicr0 &= ~CICR0_EOFM;
@@ -935,7 +932,7 @@ static void pxa_camera_deactivate(struct pxa_camera_dev *pcdev)
935932
static irqreturn_t pxa_camera_irq(int irq, void *data)
936933
{
937934
struct pxa_camera_dev *pcdev = data;
938-
unsigned long status, cicr0;
935+
unsigned long status, cifr, cicr0;
939936
struct pxa_buffer *buf;
940937
struct videobuf_buffer *vb;
941938

@@ -949,6 +946,10 @@ static irqreturn_t pxa_camera_irq(int irq, void *data)
949946
__raw_writel(status, pcdev->base + CISR);
950947

951948
if (status & CISR_EOF) {
949+
/* Reset the FIFOs */
950+
cifr = __raw_readl(pcdev->base + CIFR) | CIFR_RESET_F;
951+
__raw_writel(cifr, pcdev->base + CIFR);
952+
952953
pcdev->active = list_first_entry(&pcdev->capture,
953954
struct pxa_buffer, vb.queue);
954955
vb = &pcdev->active->vb;

drivers/media/video/sh_mobile_ceu_camera.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1633,7 +1633,7 @@ static int sh_mobile_ceu_try_fmt(struct soc_camera_device *icd,
16331633
height = pix->height;
16341634

16351635
pix->bytesperline = soc_mbus_bytes_per_line(width, xlate->host_fmt);
1636-
if (pix->bytesperline < 0)
1636+
if ((int)pix->bytesperline < 0)
16371637
return pix->bytesperline;
16381638
pix->sizeimage = height * pix->bytesperline;
16391639

include/media/saa7146_vv.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ void saa7146_buffer_timeout(unsigned long data);
188188
void saa7146_dma_free(struct saa7146_dev* dev,struct videobuf_queue *q,
189189
struct saa7146_buf *buf);
190190

191-
int saa7146_vv_devinit(struct saa7146_dev *dev);
192191
int saa7146_vv_init(struct saa7146_dev* dev, struct saa7146_ext_vv *ext_vv);
193192
int saa7146_vv_release(struct saa7146_dev* dev);
194193

0 commit comments

Comments
 (0)