Commit 363429a0 authored by Steven Toth's avatar Steven Toth Committed by Mauro Carvalho Chehab

V4L/DVB (9003): S2API: Remove the DTV_SET_ and DTV_GET_ prefixes

The API now assumes that ioctl calls for FE_SET_PROPERTY and all
set commands, and FE_GET_PROPERTY are get commands.

Simplification.
Signed-off-by: default avatarSteven Toth <stoth@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 80a773c9
...@@ -768,193 +768,128 @@ struct dtv_cmds_h dtv_cmds[] = { ...@@ -768,193 +768,128 @@ struct dtv_cmds_h dtv_cmds[] = {
}, },
/* Set */ /* Set */
[DTV_SET_FREQUENCY] = { [DTV_FREQUENCY] = {
.name = "DTV_SET_FREQUENCY", .name = "DTV_FREQUENCY",
.cmd = DTV_SET_FREQUENCY, .cmd = DTV_FREQUENCY,
.set = 1, .set = 1,
}, },
[DTV_SET_BANDWIDTH] = { [DTV_BANDWIDTH] = {
.name = "DTV_SET_BANDWIDTH", .name = "DTV_BANDWIDTH",
.cmd = DTV_SET_BANDWIDTH, .cmd = DTV_BANDWIDTH,
.set = 1, .set = 1,
}, },
[DTV_SET_MODULATION] = { [DTV_MODULATION] = {
.name = "DTV_SET_MODULATION", .name = "DTV_MODULATION",
.cmd = DTV_SET_MODULATION, .cmd = DTV_MODULATION,
.set = 1, .set = 1,
}, },
[DTV_SET_INVERSION] = { [DTV_INVERSION] = {
.name = "DTV_SET_INVERSION", .name = "DTV_INVERSION",
.cmd = DTV_SET_INVERSION, .cmd = DTV_INVERSION,
.set = 1, .set = 1,
}, },
[DTV_SET_DISEQC_MASTER] = { [DTV_DISEQC_MASTER] = {
.name = "DTV_SET_DISEQC_MASTER", .name = "DTV_DISEQC_MASTER",
.cmd = DTV_SET_DISEQC_MASTER, .cmd = DTV_DISEQC_MASTER,
.set = 1, .set = 1,
.buffer = 1, .buffer = 1,
}, },
[DTV_SET_SYMBOL_RATE] = { [DTV_SYMBOL_RATE] = {
.name = "DTV_SET_SYMBOL_RATE", .name = "DTV_SYMBOL_RATE",
.cmd = DTV_SET_SYMBOL_RATE, .cmd = DTV_SYMBOL_RATE,
.set = 1, .set = 1,
}, },
[DTV_SET_INNER_FEC] = { [DTV_INNER_FEC] = {
.name = "DTV_SET_INNER_FEC", .name = "DTV_INNER_FEC",
.cmd = DTV_SET_INNER_FEC, .cmd = DTV_INNER_FEC,
.set = 1, .set = 1,
}, },
[DTV_SET_VOLTAGE] = { [DTV_VOLTAGE] = {
.name = "DTV_SET_VOLTAGE", .name = "DTV_VOLTAGE",
.cmd = DTV_SET_VOLTAGE, .cmd = DTV_VOLTAGE,
.set = 1, .set = 1,
}, },
[DTV_SET_TONE] = { [DTV_TONE] = {
.name = "DTV_SET_TONE", .name = "DTV_TONE",
.cmd = DTV_SET_TONE, .cmd = DTV_TONE,
.set = 1, .set = 1,
}, },
[DTV_SET_PILOT] = { [DTV_PILOT] = {
.name = "DTV_SET_PILOT", .name = "DTV_PILOT",
.cmd = DTV_SET_PILOT, .cmd = DTV_PILOT,
.set = 1, .set = 1,
}, },
[DTV_SET_ROLLOFF] = { [DTV_ROLLOFF] = {
.name = "DTV_SET_ROLLOFF", .name = "DTV_ROLLOFF",
.cmd = DTV_SET_ROLLOFF, .cmd = DTV_ROLLOFF,
.set = 1, .set = 1,
}, },
[DTV_SET_DELIVERY_SYSTEM] = { [DTV_DELIVERY_SYSTEM] = {
.name = "DTV_SET_DELIVERY_SYSTEM", .name = "DTV_DELIVERY_SYSTEM",
.cmd = DTV_SET_DELIVERY_SYSTEM, .cmd = DTV_DELIVERY_SYSTEM,
.set = 1, .set = 1,
}, },
[DTV_SET_ISDB_SEGMENT_IDX] = { [DTV_ISDB_SEGMENT_IDX] = {
.name = "DTV_SET_ISDB_SEGMENT_IDX", .name = "DTV_ISDB_SEGMENT_IDX",
.cmd = DTV_SET_ISDB_SEGMENT_IDX, .cmd = DTV_ISDB_SEGMENT_IDX,
.set = 1, .set = 1,
}, },
[DTV_SET_ISDB_SEGMENT_WIDTH] = { [DTV_ISDB_SEGMENT_WIDTH] = {
.name = "DTV_SET_ISDB_SEGMENT_WIDTH", .name = "DTV_ISDB_SEGMENT_WIDTH",
.cmd = DTV_SET_ISDB_SEGMENT_WIDTH, .cmd = DTV_ISDB_SEGMENT_WIDTH,
.set = 1, .set = 1,
}, },
/* Get */ /* Get */
[DTV_GET_FREQUENCY] = { [DTV_DISEQC_SLAVE_REPLY] = {
.name = "DTV_GET_FREQUENCY", .name = "DTV_DISEQC_SLAVE_REPLY",
.cmd = DTV_GET_FREQUENCY, .cmd = DTV_DISEQC_SLAVE_REPLY,
.set = 0,
},
[DTV_GET_BANDWIDTH] = {
.name = "DTV_GET_BANDWIDTH",
.cmd = DTV_GET_BANDWIDTH,
.set = 0,
},
[DTV_GET_MODULATION] = {
.name = "DTV_GET_MODULATION",
.cmd = DTV_GET_MODULATION,
.set = 0,
},
[DTV_GET_INVERSION] = {
.name = "DTV_GET_INVERSION",
.cmd = DTV_GET_INVERSION,
.set = 0,
},
[DTV_GET_DISEQC_SLAVE_REPLY] = {
.name = "DTV_GET_DISEQC_SLAVE_REPLY",
.cmd = DTV_GET_DISEQC_SLAVE_REPLY,
.set = 0, .set = 0,
.buffer = 1, .buffer = 1,
}, },
[DTV_GET_SYMBOL_RATE] = { [DTV_ISDB_LAYERA_FEC] = {
.name = "DTV_GET_SYMBOL_RATE", .name = "DTV_ISDB_LAYERA_FEC",
.cmd = DTV_GET_SYMBOL_RATE, .cmd = DTV_ISDB_LAYERA_FEC,
.set = 0,
},
[DTV_GET_INNER_FEC] = {
.name = "DTV_GET_INNER_FEC",
.cmd = DTV_GET_INNER_FEC,
.set = 0,
},
[DTV_GET_VOLTAGE] = {
.name = "DTV_GET_VOLTAGE",
.cmd = DTV_GET_VOLTAGE,
.set = 0,
},
[DTV_GET_TONE] = {
.name = "DTV_GET_TONE",
.cmd = DTV_GET_TONE,
.set = 0,
},
[DTV_GET_PILOT] = {
.name = "DTV_GET_PILOT",
.cmd = DTV_GET_PILOT,
.set = 0,
},
[DTV_GET_ROLLOFF] = {
.name = "DTV_GET_ROLLOFF",
.cmd = DTV_GET_ROLLOFF,
.set = 0,
},
[DTV_GET_DELIVERY_SYSTEM] = {
.name = "DTV_GET_DELIVERY_SYSTEM",
.cmd = DTV_GET_DELIVERY_SYSTEM,
.set = 0,
},
[DTV_GET_ISDB_SEGMENT_IDX] = {
.name = "DTV_GET_ISDB_SEGMENT_IDX",
.cmd = DTV_GET_ISDB_SEGMENT_IDX,
.set = 0,
},
[DTV_GET_ISDB_SEGMENT_WIDTH] = {
.name = "DTV_GET_ISDB_SEGMENT_WIDTH",
.cmd = DTV_GET_ISDB_SEGMENT_WIDTH,
.set = 0, .set = 0,
}, },
[DTV_GET_ISDB_LAYERA_FEC] = { [DTV_ISDB_LAYERA_MODULATION] = {
.name = "DTV_GET_ISDB_LAYERA_FEC", .name = "DTV_ISDB_LAYERA_MODULATION",
.cmd = DTV_GET_ISDB_LAYERA_FEC, .cmd = DTV_ISDB_LAYERA_MODULATION,
.set = 0, .set = 0,
}, },
[DTV_GET_ISDB_LAYERA_MODULATION] = { [DTV_ISDB_LAYERA_SEGMENT_WIDTH] = {
.name = "DTV_GET_ISDB_LAYERA_MODULATION", .name = "DTV_ISDB_LAYERA_SEGMENT_WIDTH",
.cmd = DTV_GET_ISDB_LAYERA_MODULATION, .cmd = DTV_ISDB_LAYERA_SEGMENT_WIDTH,
.set = 0, .set = 0,
}, },
[DTV_GET_ISDB_LAYERA_SEGMENT_WIDTH] = { [DTV_ISDB_LAYERB_FEC] = {
.name = "DTV_GET_ISDB_LAYERA_SEGMENT_WIDTH", .name = "DTV_ISDB_LAYERB_FEC",
.cmd = DTV_GET_ISDB_LAYERA_SEGMENT_WIDTH, .cmd = DTV_ISDB_LAYERB_FEC,
.set = 0, .set = 0,
}, },
[DTV_GET_ISDB_LAYERB_FEC] = { [DTV_ISDB_LAYERB_MODULATION] = {
.name = "DTV_GET_ISDB_LAYERB_FEC", .name = "DTV_ISDB_LAYERB_MODULATION",
.cmd = DTV_GET_ISDB_LAYERB_FEC, .cmd = DTV_ISDB_LAYERB_MODULATION,
.set = 0, .set = 0,
}, },
[DTV_GET_ISDB_LAYERB_MODULATION] = { [DTV_ISDB_LAYERB_SEGMENT_WIDTH] = {
.name = "DTV_GET_ISDB_LAYERB_MODULATION", .name = "DTV_ISDB_LAYERB_SEGMENT_WIDTH",
.cmd = DTV_GET_ISDB_LAYERB_MODULATION, .cmd = DTV_ISDB_LAYERB_SEGMENT_WIDTH,
.set = 0, .set = 0,
}, },
[DTV_GET_ISDB_LAYERB_SEGMENT_WIDTH] = { [DTV_ISDB_LAYERC_FEC] = {
.name = "DTV_GET_ISDB_LAYERB_SEGMENT_WIDTH", .name = "DTV_ISDB_LAYERC_FEC",
.cmd = DTV_GET_ISDB_LAYERB_SEGMENT_WIDTH, .cmd = DTV_ISDB_LAYERC_FEC,
.set = 0, .set = 0,
}, },
[DTV_GET_ISDB_LAYERC_FEC] = { [DTV_ISDB_LAYERC_MODULATION] = {
.name = "DTV_GET_ISDB_LAYERC_FEC", .name = "DTV_ISDB_LAYERC_MODULATION",
.cmd = DTV_GET_ISDB_LAYERC_FEC, .cmd = DTV_ISDB_LAYERC_MODULATION,
.set = 0, .set = 0,
}, },
[DTV_GET_ISDB_LAYERC_MODULATION] = { [DTV_ISDB_LAYERC_SEGMENT_WIDTH] = {
.name = "DTV_GET_ISDB_LAYERC_MODULATION", .name = "DTV_ISDB_LAYERC_SEGMENT_WIDTH",
.cmd = DTV_GET_ISDB_LAYERC_MODULATION, .cmd = DTV_ISDB_LAYERC_SEGMENT_WIDTH,
.set = 0,
},
[DTV_GET_ISDB_LAYERC_SEGMENT_WIDTH] = {
.name = "DTV_GET_ISDB_LAYERC_SEGMENT_WIDTH",
.cmd = DTV_GET_ISDB_LAYERC_SEGMENT_WIDTH,
.set = 0, .set = 0,
}, },
}; };
...@@ -1160,7 +1095,92 @@ static int dvb_frontend_ioctl_legacy(struct inode *inode, struct file *file, ...@@ -1160,7 +1095,92 @@ static int dvb_frontend_ioctl_legacy(struct inode *inode, struct file *file,
static int dvb_frontend_ioctl_properties(struct inode *inode, struct file *file, static int dvb_frontend_ioctl_properties(struct inode *inode, struct file *file,
unsigned int cmd, void *parg); unsigned int cmd, void *parg);
int dtv_property_process(struct dvb_frontend *fe, struct dtv_property *tvp, int dtv_property_process_get(struct dvb_frontend *fe, struct dtv_property *tvp,
struct inode *inode, struct file *file)
{
int r = 0;
printk("%s()\n", __FUNCTION__);
dtv_property_dump(tvp);
switch(tvp->cmd) {
case DTV_FREQUENCY:
tvp->u.data = fe->dtv_property_cache.frequency;
break;
case DTV_MODULATION:
tvp->u.data = fe->dtv_property_cache.modulation;
break;
case DTV_BANDWIDTH:
tvp->u.data = fe->dtv_property_cache.bandwidth;
break;
case DTV_INVERSION:
tvp->u.data = fe->dtv_property_cache.inversion;
break;
case DTV_SYMBOL_RATE:
tvp->u.data = fe->dtv_property_cache.symbol_rate;
break;
case DTV_INNER_FEC:
tvp->u.data = fe->dtv_property_cache.fec_inner;
break;
case DTV_PILOT:
tvp->u.data = fe->dtv_property_cache.pilot;
break;
case DTV_ROLLOFF:
tvp->u.data = fe->dtv_property_cache.rolloff;
break;
case DTV_DELIVERY_SYSTEM:
tvp->u.data = fe->dtv_property_cache.delivery_system;
break;
/* ISDB-T Support here */
case DTV_ISDB_SEGMENT_IDX:
tvp->u.data = fe->dtv_property_cache.isdb_segment_idx;
break;
case DTV_ISDB_SEGMENT_WIDTH:
tvp->u.data = fe->dtv_property_cache.isdb_segment_width;
break;
case DTV_ISDB_LAYERA_FEC:
tvp->u.data = fe->dtv_property_cache.isdb_layera_fec;
break;
case DTV_ISDB_LAYERA_MODULATION:
tvp->u.data = fe->dtv_property_cache.isdb_layera_modulation;
break;
case DTV_ISDB_LAYERA_SEGMENT_WIDTH:
tvp->u.data = fe->dtv_property_cache.isdb_layera_segment_width;
break;
case DTV_ISDB_LAYERB_FEC:
tvp->u.data = fe->dtv_property_cache.isdb_layerb_fec;
break;
case DTV_ISDB_LAYERB_MODULATION:
tvp->u.data = fe->dtv_property_cache.isdb_layerb_modulation;
break;
case DTV_ISDB_LAYERB_SEGMENT_WIDTH:
tvp->u.data = fe->dtv_property_cache.isdb_layerb_segment_width;
break;
case DTV_ISDB_LAYERC_FEC:
tvp->u.data = fe->dtv_property_cache.isdb_layerc_fec;
break;
case DTV_ISDB_LAYERC_MODULATION:
tvp->u.data = fe->dtv_property_cache.isdb_layerc_modulation;
break;
case DTV_ISDB_LAYERC_SEGMENT_WIDTH:
tvp->u.data = fe->dtv_property_cache.isdb_layerc_segment_width;
break;
case DTV_VOLTAGE:
tvp->u.data = fe->dtv_property_cache.voltage;
break;
case DTV_TONE:
tvp->u.data = fe->dtv_property_cache.sectone;
break;
default:
r = -1;
}
return r;
}
int dtv_property_process_set(struct dvb_frontend *fe, struct dtv_property *tvp,
struct inode *inode, struct file *file) struct inode *inode, struct file *file)
{ {
int r = 0; int r = 0;
...@@ -1190,117 +1210,53 @@ int dtv_property_process(struct dvb_frontend *fe, struct dtv_property *tvp, ...@@ -1190,117 +1210,53 @@ int dtv_property_process(struct dvb_frontend *fe, struct dtv_property *tvp,
r |= dvb_frontend_ioctl_legacy(inode, file, FE_SET_FRONTEND, r |= dvb_frontend_ioctl_legacy(inode, file, FE_SET_FRONTEND,
&fepriv->parameters); &fepriv->parameters);
break; break;
case DTV_SET_FREQUENCY: case DTV_FREQUENCY:
fe->dtv_property_cache.frequency = tvp->u.data; fe->dtv_property_cache.frequency = tvp->u.data;
break; break;
case DTV_GET_FREQUENCY: case DTV_MODULATION:
tvp->u.data = fe->dtv_property_cache.frequency;
break;
case DTV_SET_MODULATION:
fe->dtv_property_cache.modulation = tvp->u.data; fe->dtv_property_cache.modulation = tvp->u.data;
break; break;
case DTV_GET_MODULATION: case DTV_BANDWIDTH:
tvp->u.data = fe->dtv_property_cache.modulation;
break;
case DTV_SET_BANDWIDTH:
fe->dtv_property_cache.bandwidth = tvp->u.data; fe->dtv_property_cache.bandwidth = tvp->u.data;
break; break;
case DTV_GET_BANDWIDTH: case DTV_INVERSION:
tvp->u.data = fe->dtv_property_cache.bandwidth;
break;
case DTV_SET_INVERSION:
fe->dtv_property_cache.inversion = tvp->u.data; fe->dtv_property_cache.inversion = tvp->u.data;
break; break;
case DTV_GET_INVERSION: case DTV_SYMBOL_RATE:
tvp->u.data = fe->dtv_property_cache.inversion;
break;
case DTV_SET_SYMBOL_RATE:
fe->dtv_property_cache.symbol_rate = tvp->u.data; fe->dtv_property_cache.symbol_rate = tvp->u.data;
break; break;
case DTV_GET_SYMBOL_RATE: case DTV_INNER_FEC:
tvp->u.data = fe->dtv_property_cache.symbol_rate;
break;
case DTV_SET_INNER_FEC:
fe->dtv_property_cache.fec_inner = tvp->u.data; fe->dtv_property_cache.fec_inner = tvp->u.data;
break; break;
case DTV_GET_INNER_FEC: case DTV_PILOT:
tvp->u.data = fe->dtv_property_cache.fec_inner;
break;
case DTV_SET_PILOT:
fe->dtv_property_cache.pilot = tvp->u.data; fe->dtv_property_cache.pilot = tvp->u.data;
break; break;
case DTV_GET_PILOT: case DTV_ROLLOFF:
tvp->u.data = fe->dtv_property_cache.pilot;
break;
case DTV_SET_ROLLOFF:
fe->dtv_property_cache.rolloff = tvp->u.data; fe->dtv_property_cache.rolloff = tvp->u.data;
break; break;
case DTV_GET_ROLLOFF: case DTV_DELIVERY_SYSTEM:
tvp->u.data = fe->dtv_property_cache.rolloff;
break;
case DTV_SET_DELIVERY_SYSTEM:
fe->dtv_property_cache.delivery_system = tvp->u.data; fe->dtv_property_cache.delivery_system = tvp->u.data;
break; break;
case DTV_GET_DELIVERY_SYSTEM:
tvp->u.data = fe->dtv_property_cache.delivery_system;
break;
/* ISDB-T Support here */ /* ISDB-T Support here */
case DTV_SET_ISDB_SEGMENT_IDX: case DTV_ISDB_SEGMENT_IDX:
fe->dtv_property_cache.isdb_segment_idx = tvp->u.data; fe->dtv_property_cache.isdb_segment_idx = tvp->u.data;
break; break;
case DTV_GET_ISDB_SEGMENT_IDX: case DTV_ISDB_SEGMENT_WIDTH:
tvp->u.data = fe->dtv_property_cache.isdb_segment_idx;
break;
case DTV_SET_ISDB_SEGMENT_WIDTH:
fe->dtv_property_cache.isdb_segment_width = tvp->u.data; fe->dtv_property_cache.isdb_segment_width = tvp->u.data;
break; break;
case DTV_GET_ISDB_SEGMENT_WIDTH: case DTV_VOLTAGE:
tvp->u.data = fe->dtv_property_cache.isdb_segment_width;
break;
case DTV_GET_ISDB_LAYERA_FEC:
tvp->u.data = fe->dtv_property_cache.isdb_layera_fec;
break;
case DTV_GET_ISDB_LAYERA_MODULATION:
tvp->u.data = fe->dtv_property_cache.isdb_layera_modulation;
break;
case DTV_GET_ISDB_LAYERA_SEGMENT_WIDTH:
tvp->u.data = fe->dtv_property_cache.isdb_layera_segment_width;
break;
case DTV_GET_ISDB_LAYERB_FEC:
tvp->u.data = fe->dtv_property_cache.isdb_layerb_fec;
break;
case DTV_GET_ISDB_LAYERB_MODULATION:
tvp->u.data = fe->dtv_property_cache.isdb_layerb_modulation;
break;
case DTV_GET_ISDB_LAYERB_SEGMENT_WIDTH:
tvp->u.data = fe->dtv_property_cache.isdb_layerb_segment_width;
break;
case DTV_GET_ISDB_LAYERC_FEC:
tvp->u.data = fe->dtv_property_cache.isdb_layerc_fec;
break;
case DTV_GET_ISDB_LAYERC_MODULATION:
tvp->u.data = fe->dtv_property_cache.isdb_layerc_modulation;
break;
case DTV_GET_ISDB_LAYERC_SEGMENT_WIDTH:
tvp->u.data = fe->dtv_property_cache.isdb_layerc_segment_width;
break;
case DTV_SET_VOLTAGE:
fe->dtv_property_cache.voltage = tvp->u.data; fe->dtv_property_cache.voltage = tvp->u.data;
r = dvb_frontend_ioctl_legacy(inode, file, FE_SET_VOLTAGE, r = dvb_frontend_ioctl_legacy(inode, file, FE_SET_VOLTAGE,
(void *)fe->dtv_property_cache.voltage); (void *)fe->dtv_property_cache.voltage);
break; break;
case DTV_GET_VOLTAGE: case DTV_TONE:
tvp->u.data = fe->dtv_property_cache.voltage;
break;
case DTV_SET_TONE:
fe->dtv_property_cache.sectone = tvp->u.data; fe->dtv_property_cache.sectone = tvp->u.data;
r = dvb_frontend_ioctl_legacy(inode, file, FE_SET_TONE, r = dvb_frontend_ioctl_legacy(inode, file, FE_SET_TONE,
(void *)fe->dtv_property_cache.sectone); (void *)fe->dtv_property_cache.sectone);
break; break;
case DTV_GET_TONE: default:
tvp->u.data = fe->dtv_property_cache.sectone; r = -1;
break;
} }
return r; return r;
...@@ -1375,13 +1331,50 @@ static int dvb_frontend_ioctl_properties(struct inode *inode, struct file *file, ...@@ -1375,13 +1331,50 @@ static int dvb_frontend_ioctl_properties(struct inode *inode, struct file *file,
} }
for (i = 0; i < tvps->num; i++) for (i = 0; i < tvps->num; i++)
dtv_property_process(fe, tvp + i, inode, file); dtv_property_process_set(fe, tvp + i, inode, file);
if(fe->dtv_property_cache.state == DTV_TUNE) { if(fe->dtv_property_cache.state == DTV_TUNE) {
printk("%s() Property cache is full, tuning\n", __FUNCTION__); printk("%s() Property cache is full, tuning\n", __FUNCTION__);
} }
err = 0; err = 0;
} } else
if(cmd == FE_GET_PROPERTY) {
printk("%s() FE_GET_PROPERTY\n", __FUNCTION__);
tvps = (struct dtv_properties __user *)parg;
printk("%s() properties.num = %d\n", __FUNCTION__, tvps->num);
printk("%s() properties.props = %p\n", __FUNCTION__, tvps->props);
/* Put an arbitrary limit on the number of messages that can
* be sent at once */
if (tvps->num > DTV_IOCTL_MAX_MSGS)
return -EINVAL;
tvp = (struct dtv_property *) kmalloc(tvps->num *
sizeof(struct dtv_property), GFP_KERNEL);
if (!tvp) {
err = -ENOMEM;
goto out;
}
if (copy_from_user(tvp, tvps->props, tvps->num * sizeof(struct dtv_property))) {
err = -EFAULT;
goto out;
}
for (i = 0; i < tvps->num; i++)
dtv_property_process_get(fe, tvp + i, inode, file);
if (copy_to_user(tvps->props, tvp, tvps->num * sizeof(struct dtv_property))) {
err = -EFAULT;
goto out;
}
err = 0;
} else
err = -EOPNOTSUPP;
out: out:
kfree(tvp); kfree(tvp);
return err; return err;
......
...@@ -255,52 +255,39 @@ typedef enum dtv_cmd_types { ...@@ -255,52 +255,39 @@ typedef enum dtv_cmd_types {
DTV_TUNE, DTV_TUNE,
DTV_CLEAR, DTV_CLEAR,
DTV_SET_FREQUENCY, DTV_FREQUENCY,
DTV_SET_MODULATION, DTV_MODULATION,
DTV_SET_BANDWIDTH, DTV_BANDWIDTH,
DTV_SET_INVERSION, DTV_INVERSION,
DTV_SET_DISEQC_MASTER, DTV_DISEQC_MASTER,
DTV_SET_SYMBOL_RATE, DTV_SYMBOL_RATE,
DTV_SET_INNER_FEC, DTV_INNER_FEC,
DTV_SET_VOLTAGE, DTV_VOLTAGE,
DTV_SET_TONE, DTV_TONE,
DTV_SET_PILOT, DTV_PILOT,
DTV_SET_ROLLOFF, DTV_ROLLOFF,
DTV_GET_FREQUENCY, DTV_DISEQC_SLAVE_REPLY,
DTV_GET_MODULATION,
DTV_GET_BANDWIDTH,
DTV_GET_INVERSION,
DTV_GET_DISEQC_SLAVE_REPLY,
DTV_GET_SYMBOL_RATE,
DTV_GET_INNER_FEC,
DTV_GET_VOLTAGE,
DTV_GET_TONE,
DTV_GET_PILOT,
DTV_GET_ROLLOFF,
/* Basic enumeration set for querying unlimited capabilities */ /* Basic enumeration set for querying unlimited capabilities */
DTV_GET_FE_CAPABILITY_COUNT, DTV_FE_CAPABILITY_COUNT,
DTV_GET_FE_CAPABILITY, DTV_FE_CAPABILITY,
/* New commands are always appended */ /* New commands are always appended */
DTV_SET_DELIVERY_SYSTEM, DTV_DELIVERY_SYSTEM,
DTV_GET_DELIVERY_SYSTEM,
/* ISDB-T */ /* ISDB-T */
DTV_SET_ISDB_SEGMENT_IDX, DTV_ISDB_SEGMENT_IDX,
DTV_GET_ISDB_SEGMENT_IDX, DTV_ISDB_SEGMENT_WIDTH,
DTV_SET_ISDB_SEGMENT_WIDTH, DTV_ISDB_LAYERA_FEC,
DTV_GET_ISDB_SEGMENT_WIDTH, DTV_ISDB_LAYERA_MODULATION,
DTV_GET_ISDB_LAYERA_FEC, DTV_ISDB_LAYERA_SEGMENT_WIDTH,
DTV_GET_ISDB_LAYERA_MODULATION, DTV_ISDB_LAYERB_FEC,
DTV_GET_ISDB_LAYERA_SEGMENT_WIDTH, DTV_ISDB_LAYERB_MODULATION,
DTV_GET_ISDB_LAYERB_FEC, DTV_ISDB_LAYERB_SEGMENT_WIDTH,
DTV_GET_ISDB_LAYERB_MODULATION, DTV_ISDB_LAYERC_FEC,
DTV_GET_ISDB_LAYERB_SEGMENT_WIDTH, DTV_ISDB_LAYERC_MODULATION,
DTV_GET_ISDB_LAYERC_FEC, DTV_ISDB_LAYERC_SEGMENT_WIDTH,
DTV_GET_ISDB_LAYERC_MODULATION,
DTV_GET_ISDB_LAYERC_SEGMENT_WIDTH,
} dtv_cmd_types_t; } dtv_cmd_types_t;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment