summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-08-16 09:52:42 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-08-16 09:52:42 -0300
commit66b8a8e426782097785060c1871076983b419b35 (patch)
tree91ce4cc304a985d196e376ba15e562a8ae6307c7 /linux
parent2bc24235b9f12fa355db7616769861d075052f81 (diff)
parent6198749e01385bc3e99d7447d5e8b5ddd36bb18e (diff)
downloadmediapointer-dvb-s2-66b8a8e426782097785060c1871076983b419b35.tar.gz
mediapointer-dvb-s2-66b8a8e426782097785060c1871076983b419b35.tar.bz2
master: http://linuxtv.org/hg/~mkrufky/dvb
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/dvb/bt8xx/bt878.h7
-rw-r--r--linux/drivers/media/video/em28xx/em28xx-video.c1
-rw-r--r--linux/drivers/media/video/vivi.c5
3 files changed, 9 insertions, 4 deletions
diff --git a/linux/drivers/media/dvb/bt8xx/bt878.h b/linux/drivers/media/dvb/bt8xx/bt878.h
index af93f78ee..0a60aaf1c 100644
--- a/linux/drivers/media/dvb/bt8xx/bt878.h
+++ b/linux/drivers/media/dvb/bt8xx/bt878.h
@@ -156,11 +156,10 @@ void bt878_start(struct bt878 *bt, u32 controlreg, u32 op_sync_orin,
void bt878_stop(struct bt878 *bt);
#if defined(__powerpc__) /* big-endian */
-extern __inline__ void io_st_le32(volatile unsigned __iomem *addr, unsigned val)
+static inline void io_st_le32(volatile unsigned __iomem *addr, unsigned val)
{
- __asm__ __volatile__("stwbrx %1,0,%2":"=m"(*addr):"r"(val),
- "r"(addr));
- __asm__ __volatile__("eieio":::"memory");
+ st_le32(addr, val);
+ eieio();
}
#define bmtwrite(dat,adr) io_st_le32((adr),(dat))
diff --git a/linux/drivers/media/video/em28xx/em28xx-video.c b/linux/drivers/media/video/em28xx/em28xx-video.c
index 21ca7809d..ed4ace009 100644
--- a/linux/drivers/media/video/em28xx/em28xx-video.c
+++ b/linux/drivers/media/video/em28xx/em28xx-video.c
@@ -1874,6 +1874,7 @@ static int em28xx_usb_probe(struct usb_interface *interface,
if (dev->alt_max_pkt_size == NULL) {
em28xx_errdev("out of memory!\n");
em28xx_devused&=~(1<<nr);
+ kfree(dev);
return -ENOMEM;
}
diff --git a/linux/drivers/media/video/vivi.c b/linux/drivers/media/video/vivi.c
index 19153e452..e0504babe 100644
--- a/linux/drivers/media/video/vivi.c
+++ b/linux/drivers/media/video/vivi.c
@@ -1378,8 +1378,13 @@ vivi_read(struct file *file, char __user *data, size_t count, loff_t *ppos)
if (fh->type==V4L2_BUF_TYPE_VIDEO_CAPTURE) {
if (res_locked(fh->dev))
return -EBUSY;
+#if 0
return videobuf_read_one(&fh->vb_vidq, data, count, ppos,
file->f_flags & O_NONBLOCK);
+#else
+ return videobuf_read_stream(&fh->vb_vidq, data, count, ppos, 0,
+ file->f_flags & O_NONBLOCK);
+#endif
}
return 0;
}