diff options
author | Darron Broad <darron@kewl.org> | 2008-09-14 09:45:58 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-12 07:37:06 -0400 |
commit | 7396d3ea94b871de66940ea27d4bf81513404990 (patch) | |
tree | 8f42ff649013b6a9a4b51c3ba7ef4cfe2763610f | |
parent | 35d9c42779ef5e8cb46902bb6987443e136c0517 (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>
-rw-r--r-- | drivers/media/dvb/frontends/cx24116.c | 82 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 2 |
2 files changed, 7 insertions, 77 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 */ |
109 | static int toneburst = 1; | 108 | static int toneburst = 1; |
110 | 109 | ||
111 | /* debug & toneburst sysctl */ | ||
112 | static struct ctl_table_header *kernel_table_header; | ||
113 | static 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 | }; | ||
142 | static 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 | }; | ||
158 | static 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 | |||
175 | enum cmds | 110 | enum 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 | ||
1067 | static struct dvb_frontend_ops cx24116_ops; | 1001 | static 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 | ||
1106 | error3: kfree(state); | 1036 | error2: kfree(state); |
1107 | error2: unregister_sysctl_table(kernel_table_header); | ||
1108 | error1: return NULL; | 1037 | error1: 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__); |
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index 891acb50bd99..ce1752dc8e2b 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c | |||
@@ -946,7 +946,7 @@ static int dvb_register(struct cx8802_dev *dev) | |||
946 | if (dev->dvb.frontend) { | 946 | if (dev->dvb.frontend) { |
947 | dvb_attach(isl6421_attach, dev->dvb.frontend, | 947 | dvb_attach(isl6421_attach, dev->dvb.frontend, |
948 | &dev->core->i2c_adap, | 948 | &dev->core->i2c_adap, |
949 | 0x08, 0x00, 0x00); | 949 | 0x08, ISL6421_DCL, 0x00); |
950 | } | 950 | } |
951 | break; | 951 | break; |
952 | case CX88_BOARD_TEVII_S460: | 952 | case CX88_BOARD_TEVII_S460: |