Skip to content

Commit

Permalink
Merge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Browse files Browse the repository at this point in the history
* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (33 commits)
  V4L/DVB (3965): Fix CONFIG_VIDEO_VIVI=y build bug
  V4L/DVB (3964): Bt8xx/bttv-cards.c: fix off-by-one errors
  V4L/DVB (3914): Vivi build fix
  V4L/DVB (3912): Sparc32 vivi fix
  V4L/DVB (3832): Get_dvb_firmware: download nxt2002 firmware from new driver location
  V4L/DVB (3829): Fix frequency values in the ranges structures of the LG TDVS H06xF tuners
  V4L/DVB (3826): Saa7134: Missing 'break' in Terratec Cinergy 400 TV initialization
  V4L/DVB (3825): Remove broken 'fast firmware load' from cx25840.
  V4L/DVB (3819): Cxusb-bluebird: bug-fix: power down corrupts frontend
  V4L/DVB (3813): Add support for TCL M2523_5N_E tuner.
  V4L/DVB (3804): Tweak bandselect setup fox cx24123
  V4L/DVB (3803): Various correctness fixes to tuning.
  V4L/DVB (3797): Always wait for diseqc queue to become ready before transmitting a diseqc message
  V4L/DVB (3796): Add several debug messages to cx24123 code
  V4L/DVB (3795): Fix for CX24123 & low symbol rates
  V4L/DVB (3792): Kbuild: DVB_BT8XX must select DVB_ZL10353
  V4L/DVB (3790): Use after free in drivers/media/video/em28xx/em28xx-video.c
  V4L/DVB (3788): Fix compilation with V4L1_COMPAT
  V4L/DVB (3782): Removed uneeded stuff from pwc Makefile
  V4L/DVB (3775): Add VIVI Kconfig stuff
  ...
  • Loading branch information
Linus Torvalds committed May 22, 2006
2 parents b307e85 + 8a2ae70 commit c9d20af
Show file tree
Hide file tree
Showing 43 changed files with 702 additions and 369 deletions.
8 changes: 4 additions & 4 deletions Documentation/dvb/get_dvb_firmware
Original file line number Diff line number Diff line change
Expand Up @@ -259,18 +259,18 @@ sub dibusb {
}

sub nxt2002 {
my $sourcefile = "Broadband4PC_4_2_11.zip";
my $sourcefile = "Technisat_DVB-PC_4_4_COMPACT.zip";
my $url = "http://www.bbti.us/download/windows/$sourcefile";
my $hash = "c6d2ea47a8f456d887ada0cfb718ff2a";
my $hash = "476befae8c7c1bb9648954060b1eec1f";
my $outfile = "dvb-fe-nxt2002.fw";
my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);

checkstandard();

wgetfile($sourcefile, $url);
unzip($sourcefile, $tmpdir);
verify("$tmpdir/SkyNETU.sys", $hash);
extract("$tmpdir/SkyNETU.sys", 375832, 5908, $outfile);
verify("$tmpdir/SkyNET.sys", $hash);
extract("$tmpdir/SkyNET.sys", 331624, 5908, $outfile);

$outfile;
}
Expand Down
45 changes: 38 additions & 7 deletions drivers/media/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,54 @@ config VIDEO_DEV
tristate "Video For Linux"
---help---
Support for audio/video capture and overlay devices and FM radio
cards. The exact capabilities of each device vary. User tools for
this are available from
<ftp://ftp.uk.linux.org/pub/linux/video4linux/>.
cards. The exact capabilities of each device vary.

This kernel includes support for the new Video for Linux Two API,
(V4L2) as well as the original system. Drivers and applications
need to be rewritten to use V4L2, but drivers for popular cards
and applications for most video capture functions already exist.

Documentation for the original API is included in the file
<file:Documentation/video4linux/API.html>. Documentation for V4L2 is
available on the web at <http://bytesex.org/v4l/>.
Additional info and docs are available on the web at
<http://linuxtv.org>

Documentation for V4L2 is also available on the web at
<http://bytesex.org/v4l/>.

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

config VIDEO_V4L1
boolean "Enable Video For Linux API 1 (DEPRECATED)"
depends on VIDEO_DEV
select VIDEO_V4L1_COMPAT
default y
---help---
Enables a compatibility API used by most V4L2 devices to allow
its usage with legacy applications that supports only V4L1 api.

If you are unsure as to whether this is required, answer Y.

config VIDEO_V4L1_COMPAT
boolean "Enable Video For Linux API 1 compatible Layer"
depends on VIDEO_DEV
default y
---help---
This api were developed to be used at Kernel 2.2 and 2.4, but
lacks support for several video standards. There are several
drivers at kernel that still depends on it.

Documentation for the original API is included in the file
<Documentation/video4linux/API.html>.

User tools for this are available from
<ftp://ftp.uk.linux.org/pub/linux/video4linux/>.

If you are unsure as to whether this is required, answer Y.

config VIDEO_V4L2
tristate
default y

source "drivers/media/video/Kconfig"

source "drivers/media/radio/Kconfig"
Expand Down Expand Up @@ -65,4 +97,3 @@ config USB_DABUSB
module will be called dabusb.

endmenu

1 change: 1 addition & 0 deletions drivers/media/common/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ config VIDEO_SAA7146

config VIDEO_SAA7146_VV
tristate
select VIDEO_V4L2
select VIDEO_BUF
select VIDEO_VIDEOBUF
select VIDEO_SAA7146
Expand Down
1 change: 1 addition & 0 deletions drivers/media/dvb/bt8xx/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ config DVB_BT8XX
select DVB_CX24110
select DVB_OR51211
select DVB_LGDT330X
select DVB_ZL10353
select FW_LOADER
help
Support for PCI cards based on the Bt8xx PCI bridge. Examples are
Expand Down
5 changes: 4 additions & 1 deletion drivers/media/dvb/cinergyT2/cinergyT2.c
Original file line number Diff line number Diff line change
Expand Up @@ -902,7 +902,10 @@ static int cinergyt2_probe (struct usb_interface *intf,
return -ENOMEM;
}

dvb_register_adapter(&cinergyt2->adapter, DRIVER_NAME, THIS_MODULE);
if ((err = dvb_register_adapter(&cinergyt2->adapter, DRIVER_NAME, THIS_MODULE)) < 0) {
kfree(cinergyt2);
return err;
}

cinergyt2->demux.priv = cinergyt2;
cinergyt2->demux.filternum = 256;
Expand Down
12 changes: 12 additions & 0 deletions drivers/media/dvb/dvb-core/dvb_frontend.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ struct dvb_frontend_private {
unsigned long tune_mode_flags;
unsigned int delay;
unsigned int reinitialise;
int tone;
int voltage;

/* swzigzag values */
unsigned int state;
Expand Down Expand Up @@ -537,6 +539,12 @@ static int dvb_frontend_thread(void *data)

if (fepriv->reinitialise) {
dvb_frontend_init(fe);
if (fepriv->tone != -1) {
fe->ops->set_tone(fe, fepriv->tone);
}
if (fepriv->voltage != -1) {
fe->ops->set_voltage(fe, fepriv->voltage);
}
fepriv->reinitialise = 0;
}

Expand Down Expand Up @@ -788,6 +796,7 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file,
case FE_SET_TONE:
if (fe->ops->set_tone) {
err = fe->ops->set_tone(fe, (fe_sec_tone_mode_t) parg);
fepriv->tone = (fe_sec_tone_mode_t) parg;
fepriv->state = FESTATE_DISEQC;
fepriv->status = 0;
}
Expand All @@ -796,6 +805,7 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file,
case FE_SET_VOLTAGE:
if (fe->ops->set_voltage) {
err = fe->ops->set_voltage(fe, (fe_sec_voltage_t) parg);
fepriv->voltage = (fe_sec_voltage_t) parg;
fepriv->state = FESTATE_DISEQC;
fepriv->status = 0;
}
Expand Down Expand Up @@ -995,6 +1005,8 @@ static int dvb_frontend_open(struct inode *inode, struct file *file)

/* normal tune mode when opened R/W */
fepriv->tune_mode_flags &= ~FE_TUNE_MODE_ONESHOT;
fepriv->tone = -1;
fepriv->voltage = -1;
}

return ret;
Expand Down
4 changes: 2 additions & 2 deletions drivers/media/dvb/dvb-core/dvbdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -219,8 +219,6 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
return -ENOMEM;
}

mutex_unlock(&dvbdev_register_lock);

memcpy(dvbdev, template, sizeof(struct dvb_device));
dvbdev->type = type;
dvbdev->id = id;
Expand All @@ -231,6 +229,8 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,

list_add_tail (&dvbdev->list_head, &adap->device_list);

mutex_unlock(&dvbdev_register_lock);

devfs_mk_cdev(MKDEV(DVB_MAJOR, nums2minor(adap->num, type, id)),
S_IFCHR | S_IRUSR | S_IWUSR,
"dvb/adapter%d/%s%d", adap->num, dnames[type], id);
Expand Down
17 changes: 13 additions & 4 deletions drivers/media/dvb/dvb-usb/cxusb.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,15 @@ static int cxusb_power_ctrl(struct dvb_usb_device *d, int onoff)
return cxusb_ctrl_msg(d, CMD_POWER_OFF, &b, 1, NULL, 0);
}

static int cxusb_bluebird_power_ctrl(struct dvb_usb_device *d, int onoff)
{
u8 b = 0;
if (onoff)
return cxusb_ctrl_msg(d, CMD_POWER_ON, &b, 1, NULL, 0);
else
return 0;
}

static int cxusb_streaming_ctrl(struct dvb_usb_device *d, int onoff)
{
u8 buf[2] = { 0x03, 0x00 };
Expand Down Expand Up @@ -544,7 +553,7 @@ static struct dvb_usb_properties cxusb_bluebird_lgh064f_properties = {
.size_of_priv = sizeof(struct cxusb_state),

.streaming_ctrl = cxusb_streaming_ctrl,
.power_ctrl = cxusb_power_ctrl,
.power_ctrl = cxusb_bluebird_power_ctrl,
.frontend_attach = cxusb_lgdt3303_frontend_attach,
.tuner_attach = cxusb_lgh064f_tuner_attach,

Expand Down Expand Up @@ -589,7 +598,7 @@ static struct dvb_usb_properties cxusb_bluebird_dee1601_properties = {
.size_of_priv = sizeof(struct cxusb_state),

.streaming_ctrl = cxusb_streaming_ctrl,
.power_ctrl = cxusb_power_ctrl,
.power_ctrl = cxusb_bluebird_power_ctrl,
.frontend_attach = cxusb_dee1601_frontend_attach,
.tuner_attach = cxusb_dee1601_tuner_attach,

Expand Down Expand Up @@ -638,7 +647,7 @@ static struct dvb_usb_properties cxusb_bluebird_lgz201_properties = {
.size_of_priv = sizeof(struct cxusb_state),

.streaming_ctrl = cxusb_streaming_ctrl,
.power_ctrl = cxusb_power_ctrl,
.power_ctrl = cxusb_bluebird_power_ctrl,
.frontend_attach = cxusb_mt352_frontend_attach,
.tuner_attach = cxusb_lgz201_tuner_attach,

Expand Down Expand Up @@ -683,7 +692,7 @@ static struct dvb_usb_properties cxusb_bluebird_dtt7579_properties = {
.size_of_priv = sizeof(struct cxusb_state),

.streaming_ctrl = cxusb_streaming_ctrl,
.power_ctrl = cxusb_power_ctrl,
.power_ctrl = cxusb_bluebird_power_ctrl,
.frontend_attach = cxusb_mt352_frontend_attach,
.tuner_attach = cxusb_dtt7579_tuner_attach,

Expand Down
Loading

0 comments on commit c9d20af

Please sign in to comment.