提交 7396d3ea 编写于 作者: D Darron Broad 提交者: Mauro Carvalho Chehab

V4L/DVB (9013): S2API: cx24116 Rolloff changes, sysctls cleanup, isl power changes.

Remove the debugging sysctls.
Rolloff was broken, not it works as expected and has been tested in kaffeine.
Power related changes for the isl6421 are not implemented on the HVR4000/4000LITE.
Signed-off-by: NSteven Toth <stoth@linuxtv.org>
Signed-off-by: NDarron Broad <darron@kewl.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 35d9c427
...@@ -36,7 +36,6 @@ ...@@ -36,7 +36,6 @@
#include <linux/moduleparam.h> #include <linux/moduleparam.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/firmware.h> #include <linux/firmware.h>
#include <linux/sysctl.h>
#include "dvb_frontend.h" #include "dvb_frontend.h"
#include "cx24116.h" #include "cx24116.h"
...@@ -108,70 +107,6 @@ static int debug = 0; ...@@ -108,70 +107,6 @@ static int debug = 0;
/* DiSEqC tone burst */ /* DiSEqC tone burst */
static int toneburst = 1; static int toneburst = 1;
/* debug & toneburst sysctl */
static struct ctl_table_header *kernel_table_header;
static ctl_table toneburst_table[] = {
{
.ctl_name = 0,
.procname = "toneburst",
.data = &toneburst,
.maxlen = sizeof(int),
.mode = 0666,
.child = NULL,
.parent = NULL,
.proc_handler = &proc_dointvec,
.strategy = NULL,
.extra1 = NULL,
.extra2 = NULL,
},
{
.ctl_name = 0,
.procname = "debug",
.data = &debug,
.maxlen = sizeof(int),
.mode = 0666,
.child = NULL,
.parent = NULL,
.proc_handler = &proc_dointvec,
.strategy = NULL,
.extra1 = NULL,
.extra2 = NULL,
},
{0},
};
static ctl_table cx24116_table[] = {
{
.ctl_name = 0,
.procname = "cx24116",
.data = NULL,
.maxlen = 0,
.mode = 0555,
.child = toneburst_table,
.parent = NULL,
.proc_handler = NULL,
.strategy = NULL,
.extra1 = NULL,
.extra2 = NULL,
},
{0},
};
static ctl_table kernel_table[] = {
{
.ctl_name = CTL_DEV,
.procname = "dev",
.data = NULL,
.maxlen = 0,
.mode = 0555,
.child = cx24116_table,
.parent = NULL,
.proc_handler = NULL,
.strategy = NULL,
.extra1 = NULL,
.extra2 = NULL,
},
{0},
};
enum cmds enum cmds
{ {
CMD_SET_VCO = 0x10, CMD_SET_VCO = 0x10,
...@@ -964,7 +899,7 @@ static int cx24116_send_diseqc_msg(struct dvb_frontend* fe, struct dvb_diseqc_ma ...@@ -964,7 +899,7 @@ static int cx24116_send_diseqc_msg(struct dvb_frontend* fe, struct dvb_diseqc_ma
* 2/C/A: E0 10 38 F8..FB * 2/C/A: E0 10 38 F8..FB
* 3/D/B: E0 10 38 FC..FF * 3/D/B: E0 10 38 FC..FF
* *
* datebyte[3]= 8421:8421 * databyte[3]= 8421:8421
* ABCD:WXYZ * ABCD:WXYZ
* CLR :SET * CLR :SET
* *
...@@ -1061,7 +996,6 @@ static void cx24116_release(struct dvb_frontend* fe) ...@@ -1061,7 +996,6 @@ static void cx24116_release(struct dvb_frontend* fe)
struct cx24116_state* state = fe->demodulator_priv; struct cx24116_state* state = fe->demodulator_priv;
dprintk("%s\n",__func__); dprintk("%s\n",__func__);
kfree(state); kfree(state);
unregister_sysctl_table(kernel_table_header);
} }
static struct dvb_frontend_ops cx24116_ops; static struct dvb_frontend_ops cx24116_ops;
...@@ -1074,15 +1008,11 @@ struct dvb_frontend* cx24116_attach(const struct cx24116_config* config, ...@@ -1074,15 +1008,11 @@ struct dvb_frontend* cx24116_attach(const struct cx24116_config* config,
dprintk("%s\n",__func__); dprintk("%s\n",__func__);
kernel_table_header = register_sysctl_table(kernel_table);
if(!kernel_table_header)
goto error1;
/* allocate memory for the internal state */ /* allocate memory for the internal state */
state = kmalloc(sizeof(struct cx24116_state), GFP_KERNEL); state = kmalloc(sizeof(struct cx24116_state), GFP_KERNEL);
if (state == NULL) { if (state == NULL) {
printk("Unable to kmalloc\n"); printk("Unable to kmalloc\n");
goto error2; goto error1;
} }
/* setup the state */ /* setup the state */
...@@ -1095,7 +1025,7 @@ struct dvb_frontend* cx24116_attach(const struct cx24116_config* config, ...@@ -1095,7 +1025,7 @@ struct dvb_frontend* cx24116_attach(const struct cx24116_config* config,
ret = (cx24116_readreg(state, 0xFF) << 8) | cx24116_readreg(state, 0xFE); ret = (cx24116_readreg(state, 0xFF) << 8) | cx24116_readreg(state, 0xFE);
if (ret != 0x0501) { if (ret != 0x0501) {
printk("Invalid probe, probably not a CX24116 device\n"); printk("Invalid probe, probably not a CX24116 device\n");
goto error3; goto error2;
} }
/* create dvb_frontend */ /* create dvb_frontend */
...@@ -1103,8 +1033,7 @@ struct dvb_frontend* cx24116_attach(const struct cx24116_config* config, ...@@ -1103,8 +1033,7 @@ struct dvb_frontend* cx24116_attach(const struct cx24116_config* config,
state->frontend.demodulator_priv = state; state->frontend.demodulator_priv = state;
return &state->frontend; return &state->frontend;
error3: kfree(state); error2: kfree(state);
error2: unregister_sysctl_table(kernel_table_header);
error1: return NULL; error1: return NULL;
} }
/* /*
...@@ -1195,7 +1124,8 @@ static int cx24116_set_frontend(struct dvb_frontend* fe, struct dvb_frontend_par ...@@ -1195,7 +1124,8 @@ static int cx24116_set_frontend(struct dvb_frontend* fe, struct dvb_frontend_par
case SYS_DVBS: case SYS_DVBS:
dprintk("%s: DVB-S delivery system selected\n",__func__); dprintk("%s: DVB-S delivery system selected\n",__func__);
state->dnxt.pilot = PILOT_OFF; state->dnxt.pilot = PILOT_OFF;
state->dnxt.rolloff = CX24116_ROLLOFF_035; state->dnxt.rolloff_val = CX24116_ROLLOFF_035;
state->dnxt.rolloff = c->rolloff;
break; break;
case SYS_DVBS2: case SYS_DVBS2:
dprintk("%s: DVB-S2 delivery system selected\n",__func__); dprintk("%s: DVB-S2 delivery system selected\n",__func__);
......
...@@ -946,7 +946,7 @@ static int dvb_register(struct cx8802_dev *dev) ...@@ -946,7 +946,7 @@ static int dvb_register(struct cx8802_dev *dev)
if (dev->dvb.frontend) { if (dev->dvb.frontend) {
dvb_attach(isl6421_attach, dev->dvb.frontend, dvb_attach(isl6421_attach, dev->dvb.frontend,
&dev->core->i2c_adap, &dev->core->i2c_adap,
0x08, 0x00, 0x00); 0x08, ISL6421_DCL, 0x00);
} }
break; break;
case CX88_BOARD_TEVII_S460: case CX88_BOARD_TEVII_S460:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册