Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 8128
b: refs/heads/master
c: 115eea4
h: refs/heads/master
v: v3
  • Loading branch information
Svante Olofsson authored and Linus Torvalds committed Sep 9, 2005
1 parent 49379f9 commit 4a6c805
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 47dc3d688d04f06d8ef90a06c48930906fbc4a8c
refs/heads/master: 115eea4e91049a42d81e5284cbb0f50acab6eb39
40 changes: 24 additions & 16 deletions trunk/drivers/media/dvb/dvb-usb/digitv.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,31 +111,28 @@ static int digitv_mt352_demod_init(struct dvb_frontend *fe)
}

static struct mt352_config digitv_mt352_config = {
.demod_address = 0x0, /* ignored by the digitv anyway */
.demod_init = digitv_mt352_demod_init,
.pll_set = dvb_usb_pll_set,
};

static struct nxt6000_config digitv_nxt6000_config = {
.demod_address = 0x0, /* ignored by the digitv anyway */
.clock_inversion = 0x0,
static int digitv_nxt6000_pll_set(struct dvb_frontend *fe, struct dvb_frontend_parameters *fep)
{
struct dvb_usb_device *d = fe->dvb->priv;
u8 b[5];
dvb_usb_pll_set(fe,fep,b);
return digitv_ctrl_msg(d,USB_WRITE_TUNER,0,&b[1],4,NULL,0);
}

.pll_init = NULL,
.pll_set = NULL,
static struct nxt6000_config digitv_nxt6000_config = {
.clock_inversion = 1,
.pll_set = digitv_nxt6000_pll_set,
};

static int digitv_frontend_attach(struct dvb_usb_device *d)
{
if ((d->fe = mt352_attach(&digitv_mt352_config, &d->i2c_adap)) != NULL)
if ((d->fe = mt352_attach(&digitv_mt352_config, &d->i2c_adap)) != NULL ||
(d->fe = nxt6000_attach(&digitv_nxt6000_config, &d->i2c_adap)) != NULL)
return 0;
if ((d->fe = nxt6000_attach(&digitv_nxt6000_config, &d->i2c_adap)) != NULL) {

warn("nxt6000 support is not done yet, in fact you are one of the first "
"person who wants to use this device in Linux. Please report to "
"linux-dvb@linuxtv.org");

return 0;
}
return -EIO;
}

Expand Down Expand Up @@ -173,7 +170,18 @@ static struct dvb_usb_properties digitv_properties;
static int digitv_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{
return dvb_usb_device_init(intf,&digitv_properties,THIS_MODULE,NULL);
struct dvb_usb_device *d;
int ret;
if ((ret = dvb_usb_device_init(intf,&digitv_properties,THIS_MODULE,&d)) == 0) {
u8 b[4] = { 0 };

b[0] = 1;
digitv_ctrl_msg(d,USB_WRITE_REMOTE_TYPE,0,b,4,NULL,0);

b[0] = 0;
digitv_ctrl_msg(d,USB_WRITE_REMOTE,0,b,4,NULL,0);
}
return ret;
}

static struct usb_device_id digitv_table [] = {
Expand Down
9 changes: 9 additions & 0 deletions trunk/drivers/media/dvb/frontends/nxt6000.c
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,7 @@ static int nxt6000_set_frontend(struct dvb_frontend* fe, struct dvb_frontend_par
if ((result = nxt6000_set_inversion(state, param->inversion)) < 0)
return result;

msleep(500);
return 0;
}

Expand Down Expand Up @@ -525,6 +526,12 @@ static int nxt6000_read_signal_strength(struct dvb_frontend* fe, u16* signal_str
return 0;
}

static int nxt6000_fe_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings *tune)
{
tune->min_delay_ms = 500;
return 0;
}

static struct dvb_frontend_ops nxt6000_ops;

struct dvb_frontend* nxt6000_attach(const struct nxt6000_config* config,
Expand Down Expand Up @@ -578,6 +585,8 @@ static struct dvb_frontend_ops nxt6000_ops = {

.init = nxt6000_init,

.get_tune_settings = nxt6000_fe_get_tune_settings,

.set_frontend = nxt6000_set_frontend,

.read_status = nxt6000_read_status,
Expand Down

0 comments on commit 4a6c805

Please sign in to comment.