Skip to content

Commit

Permalink
Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/mchehab/v4l-dvb

* 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (37 commits)
  V4L/DVB (6382): saa7134: fix NULL dereference at suspend time for cards without IR receiver
  V4L/DVB (6380): ivtvfb: Removal of the 'osd_compat' module option
  V4L/DVB (6379): patch which improves GotView Saa7135 remote control
  V4L/DVB (6378b): Updates info about the removal of V4L1 at feature-removal-schedule.txt
  V4L/DVB (6378a): Removal of VIDIOC_[G|S]_MPEGCOMP from feature-removal-schedule.txt
  V4L/DVB (6378): DiB0700-device: Using 1.10 firmware
  V4L/DVB (6357): pvrusb2: Improve encoder chip health tracking
  V4L/DVB (6356): "while (!ca->wakeup)" breaks the CAM initialisation
  V4L/DVB (6352): ir-kbd-i2c: Missing break statement
  V4L/DVB (6350): V4L: possible leak in em28xx_init_isoc
  V4L/DVB (6348): ivtv: undo video mute when closing the radio
  V4L/DVB (6347): ivtv: fix video mute when radio is used
  V4L/DVB (6346): ivtvfb: YUV output size fix when ivtvfb is not loaded
  V4L/DVB (6345): ivtvfb: YUV handling of an image which is not visible in the display area
  V4L/DVB (6343): ivtvfb: check return value of unregister_framebuffer
  V4L/DVB (6342): ivtv: fix circular locking (bug 9037)
  V4L/DVB (6341): ivtv: fix resizing MPEG1 streams
  V4L/DVB (6340): ivtvfb: screen mode change sometimes goes wrong
  V4L/DVB (6339): ivtv: set the video color to black instead of green when capturing from the radio
  V4L/DVB (6338): ivtv: fix incorrect EBUSY return
  ...
  • Loading branch information
Linus Torvalds committed Oct 23, 2007
2 parents 3650b0a + f40aa80 commit ad792f4
Show file tree
Hide file tree
Showing 71 changed files with 563 additions and 838 deletions.
24 changes: 7 additions & 17 deletions Documentation/feature-removal-schedule.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,6 @@ Who: Jiri Slaby <jirislaby@gmail.com>

---------------------------

What: V4L2 VIDIOC_G_MPEGCOMP and VIDIOC_S_MPEGCOMP
When: October 2007
Why: Broken attempt to set MPEG compression parameters. These ioctls are
not able to implement the wide variety of parameters that can be set
by hardware MPEG encoders. A new MPEG control mechanism was created
in kernel 2.6.18 that replaces these ioctls. See the V4L2 specification
(section 1.9: Extended controls) for more information on this topic.
Who: Hans Verkuil <hverkuil@xs4all.nl> and
Mauro Carvalho Chehab <mchehab@infradead.org>

---------------------------

What: dev->power.power_state
When: July 2007
Why: Broken design for runtime control over driver power states, confusing
Expand All @@ -49,10 +37,10 @@ Who: David Miller <davem@davemloft.net>
---------------------------

What: Video4Linux API 1 ioctls and video_decoder.h from Video devices.
When: December 2006
Files: include/linux/video_decoder.h
Check: include/linux/video_decoder.h
Why: V4L1 AP1 was replaced by V4L2 API. during migration from 2.4 to 2.6
When: December 2008
Files: include/linux/video_decoder.h include/linux/videodev.h
Check: include/linux/video_decoder.h include/linux/videodev.h
Why: V4L1 AP1 was replaced by V4L2 API during migration from 2.4 to 2.6
series. The old API have lots of drawbacks and don't provide enough
means to work with all video and audio standards. The newer API is
already available on the main drivers and should be used instead.
Expand All @@ -61,7 +49,9 @@ Why: V4L1 AP1 was replaced by V4L2 API. during migration from 2.4 to 2.6
Decoder iocts are using internally to allow video drivers to
communicate with video decoders. This should also be improved to allow
V4L2 calls being translated into compatible internal ioctls.
Who: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Compatibility ioctls will be provided, for a while, via
v4l1-compat module.
Who: Mauro Carvalho Chehab <mchehab@infradead.org>

---------------------------

Expand Down
70 changes: 35 additions & 35 deletions drivers/media/common/ir-keymaps.c
Original file line number Diff line number Diff line change
Expand Up @@ -1074,41 +1074,41 @@ EXPORT_SYMBOL_GPL(ir_codes_manli);
/* Mike Baikov <mike@baikov.com> */
IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {

[ 0x21 ] = KEY_POWER,
[ 0x69 ] = KEY_TV,
[ 0x33 ] = KEY_0,
[ 0x51 ] = KEY_1,
[ 0x31 ] = KEY_2,
[ 0x71 ] = KEY_3,
[ 0x3b ] = KEY_4,
[ 0x58 ] = KEY_5,
[ 0x41 ] = KEY_6,
[ 0x48 ] = KEY_7,
[ 0x30 ] = KEY_8,
[ 0x53 ] = KEY_9,
[ 0x73 ] = KEY_AGAIN, /* LOOP */
[ 0x0a ] = KEY_AUDIO,
[ 0x61 ] = KEY_PRINT, /* PREVIEW */
[ 0x7a ] = KEY_VIDEO,
[ 0x20 ] = KEY_CHANNELUP,
[ 0x40 ] = KEY_CHANNELDOWN,
[ 0x18 ] = KEY_VOLUMEDOWN,
[ 0x50 ] = KEY_VOLUMEUP,
[ 0x10 ] = KEY_MUTE,
[ 0x4a ] = KEY_SEARCH,
[ 0x7b ] = KEY_SHUFFLE, /* SNAPSHOT */
[ 0x22 ] = KEY_RECORD,
[ 0x62 ] = KEY_STOP,
[ 0x78 ] = KEY_PLAY,
[ 0x39 ] = KEY_REWIND,
[ 0x59 ] = KEY_PAUSE,
[ 0x19 ] = KEY_FORWARD,
[ 0x09 ] = KEY_ZOOM,

[ 0x52 ] = KEY_F21, /* LIVE TIMESHIFT */
[ 0x1a ] = KEY_F22, /* MIN TIMESHIFT */
[ 0x3a ] = KEY_F23, /* TIMESHIFT */
[ 0x70 ] = KEY_F24, /* NORMAL TIMESHIFT */
[ 0x11 ] = KEY_POWER,
[ 0x35 ] = KEY_TV,
[ 0x1b ] = KEY_0,
[ 0x29 ] = KEY_1,
[ 0x19 ] = KEY_2,
[ 0x39 ] = KEY_3,
[ 0x1f ] = KEY_4,
[ 0x2c ] = KEY_5,
[ 0x21 ] = KEY_6,
[ 0x24 ] = KEY_7,
[ 0x18 ] = KEY_8,
[ 0x2b ] = KEY_9,
[ 0x3b ] = KEY_AGAIN, /* LOOP */
[ 0x06 ] = KEY_AUDIO,
[ 0x31 ] = KEY_PRINT, /* PREVIEW */
[ 0x3e ] = KEY_VIDEO,
[ 0x10 ] = KEY_CHANNELUP,
[ 0x20 ] = KEY_CHANNELDOWN,
[ 0x0c ] = KEY_VOLUMEDOWN,
[ 0x28 ] = KEY_VOLUMEUP,
[ 0x08 ] = KEY_MUTE,
[ 0x26 ] = KEY_SEARCH, /*SCAN*/
[ 0x3f ] = KEY_SHUFFLE, /* SNAPSHOT */
[ 0x12 ] = KEY_RECORD,
[ 0x32 ] = KEY_STOP,
[ 0x3c ] = KEY_PLAY,
[ 0x1d ] = KEY_REWIND,
[ 0x2d ] = KEY_PAUSE,
[ 0x0d ] = KEY_FORWARD,
[ 0x05 ] = KEY_ZOOM, /*FULL*/

[ 0x2a ] = KEY_F21, /* LIVE TIMESHIFT */
[ 0x0e ] = KEY_F22, /* MIN TIMESHIFT */
[ 0x1e ] = KEY_F23, /* TIMESHIFT */
[ 0x38 ] = KEY_F24, /* NORMAL TIMESHIFT */
};

EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
Expand Down
42 changes: 29 additions & 13 deletions drivers/media/dvb/cinergyT2/cinergyT2.c
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,9 @@ static int cinergyt2_start_feed(struct dvb_demux_feed *dvbdmxfeed)
struct dvb_demux *demux = dvbdmxfeed->demux;
struct cinergyt2 *cinergyt2 = demux->priv;

if (cinergyt2->disconnect_pending || mutex_lock_interruptible(&cinergyt2->sem))
if (cinergyt2->disconnect_pending)
return -EAGAIN;
if (mutex_lock_interruptible(&cinergyt2->sem))
return -ERESTARTSYS;

if (cinergyt2->streaming == 0)
Expand All @@ -361,7 +363,9 @@ static int cinergyt2_stop_feed(struct dvb_demux_feed *dvbdmxfeed)
struct dvb_demux *demux = dvbdmxfeed->demux;
struct cinergyt2 *cinergyt2 = demux->priv;

if (cinergyt2->disconnect_pending || mutex_lock_interruptible(&cinergyt2->sem))
if (cinergyt2->disconnect_pending)
return -EAGAIN;
if (mutex_lock_interruptible(&cinergyt2->sem))
return -ERESTARTSYS;

if (--cinergyt2->streaming == 0)
Expand Down Expand Up @@ -481,12 +485,16 @@ static int cinergyt2_open (struct inode *inode, struct file *file)
{
struct dvb_device *dvbdev = file->private_data;
struct cinergyt2 *cinergyt2 = dvbdev->priv;
int err = -ERESTARTSYS;
int err = -EAGAIN;

if (cinergyt2->disconnect_pending || mutex_lock_interruptible(&cinergyt2->wq_sem))
if (cinergyt2->disconnect_pending)
goto out;
err = mutex_lock_interruptible(&cinergyt2->wq_sem);
if (err)
goto out;

if (mutex_lock_interruptible(&cinergyt2->sem))
err = mutex_lock_interruptible(&cinergyt2->sem);
if (err)
goto out_unlock1;

if ((err = dvb_generic_open(inode, file)))
Expand Down Expand Up @@ -550,7 +558,9 @@ static unsigned int cinergyt2_poll (struct file *file, struct poll_table_struct
struct cinergyt2 *cinergyt2 = dvbdev->priv;
unsigned int mask = 0;

if (cinergyt2->disconnect_pending || mutex_lock_interruptible(&cinergyt2->sem))
if (cinergyt2->disconnect_pending)
return -EAGAIN;
if (mutex_lock_interruptible(&cinergyt2->sem))
return -ERESTARTSYS;

poll_wait(file, &cinergyt2->poll_wq, wait);
Expand Down Expand Up @@ -625,7 +635,9 @@ static int cinergyt2_ioctl (struct inode *inode, struct file *file,
if (copy_from_user(&p, (void __user*) arg, sizeof(p)))
return -EFAULT;

if (cinergyt2->disconnect_pending || mutex_lock_interruptible(&cinergyt2->sem))
if (cinergyt2->disconnect_pending)
return -EAGAIN;
if (mutex_lock_interruptible(&cinergyt2->sem))
return -ERESTARTSYS;

param->cmd = CINERGYT2_EP1_SET_TUNER_PARAMETERS;
Expand Down Expand Up @@ -996,7 +1008,9 @@ static int cinergyt2_suspend (struct usb_interface *intf, pm_message_t state)
{
struct cinergyt2 *cinergyt2 = usb_get_intfdata (intf);

if (cinergyt2->disconnect_pending || mutex_lock_interruptible(&cinergyt2->wq_sem))
if (cinergyt2->disconnect_pending)
return -EAGAIN;
if (mutex_lock_interruptible(&cinergyt2->wq_sem))
return -ERESTARTSYS;

cinergyt2_suspend_rc(cinergyt2);
Expand All @@ -1017,16 +1031,18 @@ static int cinergyt2_resume (struct usb_interface *intf)
{
struct cinergyt2 *cinergyt2 = usb_get_intfdata (intf);
struct dvbt_set_parameters_msg *param = &cinergyt2->param;
int err = -ERESTARTSYS;
int err = -EAGAIN;

if (cinergyt2->disconnect_pending || mutex_lock_interruptible(&cinergyt2->wq_sem))
if (cinergyt2->disconnect_pending)
goto out;
err = mutex_lock_interruptible(&cinergyt2->wq_sem);
if (err)
goto out;

if (mutex_lock_interruptible(&cinergyt2->sem))
err = mutex_lock_interruptible(&cinergyt2->sem);
if (err)
goto out_unlock1;

err = 0;

if (!cinergyt2->sleeping) {
cinergyt2_sleep(cinergyt2, 0);
cinergyt2_command(cinergyt2, (char *) param, sizeof(*param), NULL, 0);
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/dvb/dvb-core/dvb_ca_en50221.c
Original file line number Diff line number Diff line change
Expand Up @@ -972,7 +972,7 @@ static int dvb_ca_en50221_thread(void *data)
/* main loop */
while (!kthread_should_stop()) {
/* sleep for a bit */
while (!ca->wakeup) {
if (!ca->wakeup) {
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(ca->delay);
if (kthread_should_stop())
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/dvb/dvb-usb/dib0700_devices.c
Original file line number Diff line number Diff line change
Expand Up @@ -828,7 +828,7 @@ MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table);
#define DIB0700_DEFAULT_DEVICE_PROPERTIES \
.caps = DVB_USB_IS_AN_I2C_ADAPTER, \
.usb_ctrl = DEVICE_SPECIFIC, \
.firmware = "dvb-usb-dib0700-03-pre1.fw", \
.firmware = "dvb-usb-dib0700-1.10.fw", \
.download_firmware = dib0700_download_firmware, \
.no_reconnect = 1, \
.size_of_priv = sizeof(struct dib0700_state), \
Expand Down
1 change: 0 additions & 1 deletion drivers/media/radio/miropcm20-radio.c
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,6 @@ static struct video_device pcm20_radio = {
.owner = THIS_MODULE,
.name = "Miro PCM 20 radio",
.type = VID_TYPE_TUNER,
.hardware = VID_HARDWARE_RTRACK,
.fops = &pcm20_fops,
.priv = &pcm20_unit
};
Expand Down
1 change: 0 additions & 1 deletion drivers/media/radio/radio-gemtek.c
Original file line number Diff line number Diff line change
Expand Up @@ -554,7 +554,6 @@ static struct video_device gemtek_radio = {
.owner = THIS_MODULE,
.name = "GemTek Radio card",
.type = VID_TYPE_TUNER,
.hardware = VID_HARDWARE_GEMTEK,
.fops = &gemtek_fops,
.vidioc_querycap = vidioc_querycap,
.vidioc_g_tuner = vidioc_g_tuner,
Expand Down
1 change: 0 additions & 1 deletion drivers/media/video/arv.c
Original file line number Diff line number Diff line change
Expand Up @@ -755,7 +755,6 @@ static struct video_device ar_template = {
.owner = THIS_MODULE,
.name = "Colour AR VGA",
.type = VID_TYPE_CAPTURE,
.hardware = VID_HARDWARE_ARV,
.fops = &ar_fops,
.release = ar_release,
.minor = -1,
Expand Down
3 changes: 0 additions & 3 deletions drivers/media/video/bt8xx/bttv-driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -3877,7 +3877,6 @@ static struct video_device bttv_video_template =
.name = "UNSET",
.type = VID_TYPE_CAPTURE|VID_TYPE_TUNER|
VID_TYPE_CLIPPING|VID_TYPE_SCALES,
.hardware = VID_HARDWARE_BT848,
.fops = &bttv_fops,
.minor = -1,
};
Expand All @@ -3886,7 +3885,6 @@ static struct video_device bttv_vbi_template =
{
.name = "bt848/878 vbi",
.type = VID_TYPE_TUNER|VID_TYPE_TELETEXT,
.hardware = VID_HARDWARE_BT848,
.fops = &bttv_fops,
.minor = -1,
};
Expand Down Expand Up @@ -4034,7 +4032,6 @@ static struct video_device radio_template =
{
.name = "bt848/878 radio",
.type = VID_TYPE_TUNER,
.hardware = VID_HARDWARE_BT848,
.fops = &radio_fops,
.minor = -1,
};
Expand Down
1 change: 0 additions & 1 deletion drivers/media/video/bw-qcam.c
Original file line number Diff line number Diff line change
Expand Up @@ -899,7 +899,6 @@ static struct video_device qcam_template=
.owner = THIS_MODULE,
.name = "Connectix Quickcam",
.type = VID_TYPE_CAPTURE,
.hardware = VID_HARDWARE_QCAM_BW,
.fops = &qcam_fops,
};

Expand Down
1 change: 0 additions & 1 deletion drivers/media/video/c-qcam.c
Original file line number Diff line number Diff line change
Expand Up @@ -699,7 +699,6 @@ static struct video_device qcam_template=
.owner = THIS_MODULE,
.name = "Colour QuickCam",
.type = VID_TYPE_CAPTURE,
.hardware = VID_HARDWARE_QCAM_C,
.fops = &qcam_fops,
};

Expand Down
5 changes: 0 additions & 5 deletions drivers/media/video/cpia.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,6 @@ MODULE_PARM_DESC(colorspace_conv,

#define ABOUT "V4L-Driver for Vision CPiA based cameras"

#ifndef VID_HARDWARE_CPIA
#define VID_HARDWARE_CPIA 24 /* FIXME -> from linux/videodev.h */
#endif

#define CPIA_MODULE_CPIA (0<<5)
#define CPIA_MODULE_SYSTEM (1<<5)
#define CPIA_MODULE_VP_CTRL (5<<5)
Expand Down Expand Up @@ -3804,7 +3800,6 @@ static struct video_device cpia_template = {
.owner = THIS_MODULE,
.name = "CPiA Camera",
.type = VID_TYPE_CAPTURE,
.hardware = VID_HARDWARE_CPIA,
.fops = &cpia_fops,
};

Expand Down
5 changes: 0 additions & 5 deletions drivers/media/video/cpia2/cpia2_v4l.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,6 @@ MODULE_LICENSE("GPL");

#define ABOUT "V4L-Driver for Vision CPiA2 based cameras"

#ifndef VID_HARDWARE_CPIA2
#error "VID_HARDWARE_CPIA2 should have been defined in linux/videodev.h"
#endif

struct control_menu_info {
int value;
char name[32];
Expand Down Expand Up @@ -1942,7 +1938,6 @@ static struct video_device cpia2_template = {
.type= VID_TYPE_CAPTURE,
.type2 = V4L2_CAP_VIDEO_CAPTURE |
V4L2_CAP_STREAMING,
.hardware= VID_HARDWARE_CPIA2,
.minor= -1,
.fops= &fops_template,
.release= video_device_release,
Expand Down
6 changes: 1 addition & 5 deletions drivers/media/video/cx23885/cx23885-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -793,7 +793,7 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
dev->pci->subsystem_device);

cx23885_devcount--;
goto fail_free;
return -ENODEV;
}

/* PCIe stuff */
Expand Down Expand Up @@ -835,10 +835,6 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
}

return 0;

fail_free:
kfree(dev);
return -ENODEV;
}

void cx23885_dev_unregister(struct cx23885_dev *dev)
Expand Down
Loading

0 comments on commit ad792f4

Please sign in to comment.