aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/cx24116.c
diff options
context:
space:
mode:
authorDarron Broad <darron@kewl.org>2008-09-14 09:45:58 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-12 07:37:06 -0400
commit7396d3ea94b871de66940ea27d4bf81513404990 (patch)
tree8f42ff649013b6a9a4b51c3ba7ef4cfe2763610f /drivers/media/dvb/frontends/cx24116.c
parent35d9c42779ef5e8cb46902bb6987443e136c0517 (diff)
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: Steven Toth <stoth@linuxtv.org> Signed-off-by: Darron Broad <darron@kewl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/cx24116.c')
-rw-r--r--drivers/media/dvb/frontends/cx24116.c82
1 files changed, 6 insertions, 76 deletions
diff --git a/drivers/media/dvb/frontends/cx24116.c b/drivers/media/dvb/frontends/cx24116.c
index cfb265de5229..fdc741e7e769 100644
--- a/drivers/media/dvb/frontends/cx24116.c
+++ b/drivers/media/dvb/frontends/cx24116.c
@@ -36,7 +36,6 @@
36#include <linux/moduleparam.h> 36#include <linux/moduleparam.h>
37#include <linux/init.h> 37#include <linux/init.h>
38#include <linux/firmware.h> 38#include <linux/firmware.h>
39#include <linux/sysctl.h>
40 39
41#include "dvb_frontend.h" 40#include "dvb_frontend.h"
42#include "cx24116.h" 41#include "cx24116.h"
@@ -108,70 +107,6 @@ static int debug = 0;
108/* DiSEqC tone burst */ 107/* DiSEqC tone burst */
109static int toneburst = 1; 108static int toneburst = 1;
110 109
111/* debug & toneburst sysctl */
112static struct ctl_table_header *kernel_table_header;
113static ctl_table toneburst_table[] = {
114{
115 .ctl_name = 0,
116 .procname = "toneburst",
117 .data = &toneburst,
118 .maxlen = sizeof(int),
119 .mode = 0666,
120 .child = NULL,
121 .parent = NULL,
122 .proc_handler = &proc_dointvec,
123 .strategy = NULL,
124 .extra1 = NULL,
125 .extra2 = NULL,
126},
127{
128 .ctl_name = 0,
129 .procname = "debug",
130 .data = &debug,
131 .maxlen = sizeof(int),
132 .mode = 0666,
133 .child = NULL,
134 .parent = NULL,
135 .proc_handler = &proc_dointvec,
136 .strategy = NULL,
137 .extra1 = NULL,
138 .extra2 = NULL,
139 },
140 {0},
141};
142static ctl_table cx24116_table[] = {
143{
144 .ctl_name = 0,
145 .procname = "cx24116",
146 .data = NULL,
147 .maxlen = 0,
148 .mode = 0555,
149 .child = toneburst_table,
150 .parent = NULL,
151 .proc_handler = NULL,
152 .strategy = NULL,
153 .extra1 = NULL,
154 .extra2 = NULL,
155 },
156 {0},
157};
158static ctl_table kernel_table[] = {
159{
160 .ctl_name = CTL_DEV,
161 .procname = "dev",
162 .data = NULL,
163 .maxlen = 0,
164 .mode = 0555,
165 .child = cx24116_table,
166 .parent = NULL,
167 .proc_handler = NULL,
168 .strategy = NULL,
169 .extra1 = NULL,
170 .extra2 = NULL,
171 },
172 {0},
173};
174
175enum cmds 110enum cmds
176{ 111{
177 CMD_SET_VCO = 0x10, 112 CMD_SET_VCO = 0x10,
@@ -964,7 +899,7 @@ static int cx24116_send_diseqc_msg(struct dvb_frontend* fe, struct dvb_diseqc_ma
964 * 2/C/A: E0 10 38 F8..FB 899 * 2/C/A: E0 10 38 F8..FB
965 * 3/D/B: E0 10 38 FC..FF 900 * 3/D/B: E0 10 38 FC..FF
966 * 901 *
967 * datebyte[3]= 8421:8421 902 * databyte[3]= 8421:8421
968 * ABCD:WXYZ 903 * ABCD:WXYZ
969 * CLR :SET 904 * CLR :SET
970 * 905 *
@@ -1061,7 +996,6 @@ static void cx24116_release(struct dvb_frontend* fe)
1061 struct cx24116_state* state = fe->demodulator_priv; 996 struct cx24116_state* state = fe->demodulator_priv;
1062 dprintk("%s\n",__func__); 997 dprintk("%s\n",__func__);
1063 kfree(state); 998 kfree(state);
1064 unregister_sysctl_table(kernel_table_header);
1065} 999}
1066 1000
1067static struct dvb_frontend_ops cx24116_ops; 1001static struct dvb_frontend_ops cx24116_ops;
@@ -1074,15 +1008,11 @@ struct dvb_frontend* cx24116_attach(const struct cx24116_config* config,
1074 1008
1075 dprintk("%s\n",__func__); 1009 dprintk("%s\n",__func__);
1076 1010
1077 kernel_table_header = register_sysctl_table(kernel_table);
1078 if(!kernel_table_header)
1079 goto error1;
1080
1081 /* allocate memory for the internal state */ 1011 /* allocate memory for the internal state */
1082 state = kmalloc(sizeof(struct cx24116_state), GFP_KERNEL); 1012 state = kmalloc(sizeof(struct cx24116_state), GFP_KERNEL);
1083 if (state == NULL) { 1013 if (state == NULL) {
1084 printk("Unable to kmalloc\n"); 1014 printk("Unable to kmalloc\n");
1085 goto error2; 1015 goto error1;
1086 } 1016 }
1087 1017
1088 /* setup the state */ 1018 /* setup the state */
@@ -1095,7 +1025,7 @@ struct dvb_frontend* cx24116_attach(const struct cx24116_config* config,
1095 ret = (cx24116_readreg(state, 0xFF) << 8) | cx24116_readreg(state, 0xFE); 1025 ret = (cx24116_readreg(state, 0xFF) << 8) | cx24116_readreg(state, 0xFE);
1096 if (ret != 0x0501) { 1026 if (ret != 0x0501) {
1097 printk("Invalid probe, probably not a CX24116 device\n"); 1027 printk("Invalid probe, probably not a CX24116 device\n");
1098 goto error3; 1028 goto error2;
1099 } 1029 }
1100 1030
1101 /* create dvb_frontend */ 1031 /* create dvb_frontend */
@@ -1103,8 +1033,7 @@ struct dvb_frontend* cx24116_attach(const struct cx24116_config* config,
1103 state->frontend.demodulator_priv = state; 1033 state->frontend.demodulator_priv = state;
1104 return &state->frontend; 1034 return &state->frontend;
1105 1035
1106error3: kfree(state); 1036error2: kfree(state);
1107error2: unregister_sysctl_table(kernel_table_header);
1108error1: return NULL; 1037error1: return NULL;
1109} 1038}
1110/* 1039/*
@@ -1195,7 +1124,8 @@ static int cx24116_set_frontend(struct dvb_frontend* fe, struct dvb_frontend_par
1195 case SYS_DVBS: 1124 case SYS_DVBS:
1196 dprintk("%s: DVB-S delivery system selected\n",__func__); 1125 dprintk("%s: DVB-S delivery system selected\n",__func__);
1197 state->dnxt.pilot = PILOT_OFF; 1126 state->dnxt.pilot = PILOT_OFF;
1198 state->dnxt.rolloff = CX24116_ROLLOFF_035; 1127 state->dnxt.rolloff_val = CX24116_ROLLOFF_035;
1128 state->dnxt.rolloff = c->rolloff;
1199 break; 1129 break;
1200 case SYS_DVBS2: 1130 case SYS_DVBS2:
1201 dprintk("%s: DVB-S2 delivery system selected\n",__func__); 1131 dprintk("%s: DVB-S2 delivery system selected\n",__func__);