Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 368d17e0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb

* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (33 commits)
  V4L/DVB (3604): V4l printk fix
  V4L/DVB (3599c): Whitespace cleanups under Documentation/video4linux
  V4L/DVB (3599b): Whitespace cleanups under drivers/media
  V4L/DVB (3599a): Move drivers/usb/media to drivers/media/video
  V4L/DVB (3599): Implement new routing commands for wm8775 and cs53l32a.
  V4L/DVB (3598): Add bit algorithm adapter for the Conexant CX2341X boards.
  V4L/DVB (3597): Vivi: fix warning: implicit declaration of function 'in_interrupt'
  V4L/DVB (3588): Remove VIDIOC_G/S_AUDOUT from msp3400
  V4L/DVB (3587): Always wake thread after routing change.
  V4L/DVB (3584): Implement V4L2_TUNER_MODE_LANG1_LANG2 audio mode
  V4L/DVB (3582): Implement correct msp3400 input/output routing
  V4L/DVB (3581): Add new media/msp3400.h header containing the routing macros
  V4L/DVB (3580): Last round of msp3400 cleanups before adding routing commands
  V4L/DVB (3579): Move msp_modus to msp3400-kthreads, add JP and KR std detection
  V4L/DVB (3578): Make scart definitions easier to handle
  V4L/DVB (3577): Cleanup audio input handling
  V4L/DVB (3575): Cxusb: fix i2c debug messages for bluebird devices
  V4L/DVB (3574): Cxusb: fix debug messages
  V4L/DVB (3573): Cxusb: remove FIXME: comment in bluebird_patch_dvico_firmware_download
  V4L/DVB (3572): Cxusb: conditionalize gpio write for the medion box
  ...
parents a9312fb8 22fe087f
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -50,5 +50,19 @@ config VIDEO_IR
config VIDEO_TVEEPROM
	tristate

config USB_DABUSB
        tristate "DABUSB driver"
        depends on USB
        ---help---
          A Digital Audio Broadcasting (DAB) Receiver for USB and Linux
          brought to you by the DAB-Team
          <http://wwwbode.cs.tum.edu/Par/arch/dab/>.  This driver can be taken
          as an example for URB-based bulk, control, and isochronous
          transactions. URB's are explained in
          <Documentation/usb/URB.txt>.

          To compile this driver as a module, choose M here: the
          module will be called dabusb.

endmenu
+3 −2
Original line number Diff line number Diff line
@@ -50,14 +50,15 @@ void saa7146_res_free(struct saa7146_fh *fh, unsigned int bits)
/********************************************************************************/
/* common dma functions */

void saa7146_dma_free(struct saa7146_dev *dev,struct saa7146_buf *buf)
void saa7146_dma_free(struct saa7146_dev *dev,struct videobuf_queue *q,
						struct saa7146_buf *buf)
{
	DEB_EE(("dev:%p, buf:%p\n",dev,buf));

	BUG_ON(in_interrupt());

	videobuf_waiton(&buf->vb,0,0);
	videobuf_dma_pci_unmap(dev->pci, &buf->vb.dma);
	videobuf_dma_unmap(q, &buf->vb.dma);
	videobuf_dma_free(&buf->vb.dma);
	buf->vb.state = STATE_NEEDS_INIT;
}
+4 −4
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ static int buffer_prepare(struct videobuf_queue *q, struct videobuf_buffer *vb,e
	}

	if (buf->vb.size != size)
		saa7146_dma_free(dev,buf);
		saa7146_dma_free(dev,q,buf);

	if (STATE_NEEDS_INIT == buf->vb.state) {
		buf->vb.width  = llength;
@@ -247,7 +247,7 @@ static int buffer_prepare(struct videobuf_queue *q, struct videobuf_buffer *vb,e
		saa7146_pgtable_free(dev->pci, &buf->pt[2]);
		saa7146_pgtable_alloc(dev->pci, &buf->pt[2]);

		err = videobuf_iolock(dev->pci,&buf->vb, NULL);
		err = videobuf_iolock(q,&buf->vb, NULL);
		if (err)
			goto oops;
		err = saa7146_pgtable_build_single(dev->pci, &buf->pt[2], buf->vb.dma.sglist, buf->vb.dma.sglen);
@@ -261,7 +261,7 @@ static int buffer_prepare(struct videobuf_queue *q, struct videobuf_buffer *vb,e

 oops:
	DEB_VBI(("error out.\n"));
	saa7146_dma_free(dev,buf);
	saa7146_dma_free(dev,q,buf);

	return err;
}
@@ -301,7 +301,7 @@ static void buffer_release(struct videobuf_queue *q, struct videobuf_buffer *vb)
	struct saa7146_buf *buf = (struct saa7146_buf *)vb;

	DEB_VBI(("vb:%p\n",vb));
	saa7146_dma_free(dev,buf);
	saa7146_dma_free(dev,q,buf);
}

static struct videobuf_queue_ops vbi_qops = {
+4 −4
Original line number Diff line number Diff line
@@ -1275,7 +1275,7 @@ static int buffer_prepare(struct videobuf_queue *q,
	    buf->vb.field  != field      ||
	    buf->vb.field  != fh->video_fmt.field  ||
	    buf->fmt       != &fh->video_fmt) {
		saa7146_dma_free(dev,buf);
		saa7146_dma_free(dev,q,buf);
	}

	if (STATE_NEEDS_INIT == buf->vb.state) {
@@ -1304,7 +1304,7 @@ static int buffer_prepare(struct videobuf_queue *q,
			saa7146_pgtable_alloc(dev->pci, &buf->pt[0]);
		}

		err = videobuf_iolock(dev->pci,&buf->vb, &vv->ov_fb);
		err = videobuf_iolock(q,&buf->vb, &vv->ov_fb);
		if (err)
			goto oops;
		err = saa7146_pgtable_build(dev,buf);
@@ -1318,7 +1318,7 @@ static int buffer_prepare(struct videobuf_queue *q,

 oops:
	DEB_D(("error out.\n"));
	saa7146_dma_free(dev,buf);
	saa7146_dma_free(dev,q,buf);

	return err;
}
@@ -1363,7 +1363,7 @@ static void buffer_release(struct videobuf_queue *q, struct videobuf_buffer *vb)
	struct saa7146_buf *buf = (struct saa7146_buf *)vb;

	DEB_CAP(("vbuf:%p\n",vb));
	saa7146_dma_free(dev,buf);
	saa7146_dma_free(dev,q,buf);
}

static struct videobuf_queue_ops video_qops = {
+1 −0
Original line number Diff line number Diff line
@@ -541,6 +541,7 @@ static struct usb_device_id flexcop_usb_table [] = {
	    { USB_DEVICE(0x0af7, 0x0101) },
	    { }
};
MODULE_DEVICE_TABLE (usb, flexcop_usb_table);

/* usb specific object needed to register this driver with the usb subsystem */
static struct usb_driver flexcop_usb_driver = {
Loading