git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
drivers
/
media
/
dvb
/
frontends
/
or51211.c
diff --git
a/drivers/media/dvb/frontends/or51211.c
b/drivers/media/dvb/frontends/or51211.c
index
2bf124b
..
7c3aed1
100644
(file)
--- a/
drivers/media/dvb/frontends/or51211.c
+++ b/
drivers/media/dvb/frontends/or51211.c
@@
-54,6
+54,7
@@
static u8 cmd_buf[] = {0x04,0x01,0x50,0x80,0x06}; // ATSC
struct or51211_state {
struct i2c_adapter* i2c;
struct or51211_state {
struct i2c_adapter* i2c;
+ struct dvb_frontend_ops ops;
/* Configuration settings */
const struct or51211_config* config;
/* Configuration settings */
const struct or51211_config* config;
@@
-437,10
+438,10
@@
static int or51211_init(struct dvb_frontend* fe)
}
ret = or51211_load_firmware(fe, fw);
}
ret = or51211_load_firmware(fe, fw);
- release_firmware(fw);
if (ret) {
printk(KERN_WARNING "or51211: Writing firmware to "
"device failed!\n");
if (ret) {
printk(KERN_WARNING "or51211: Writing firmware to "
"device failed!\n");
+ release_firmware(fw);
return ret;
}
printk(KERN_INFO "or51211: Firmware upload complete.\n");
return ret;
}
printk(KERN_INFO "or51211: Firmware upload complete.\n");
@@
-584,11
+585,12
@@
struct dvb_frontend* or51211_attach(const struct or51211_config* config,
/* Setup the state */
state->config = config;
state->i2c = i2c;
/* Setup the state */
state->config = config;
state->i2c = i2c;
+ memcpy(&state->ops, &or51211_ops, sizeof(struct dvb_frontend_ops));
state->initialized = 0;
state->current_frequency = 0;
/* Create dvb_frontend */
state->initialized = 0;
state->current_frequency = 0;
/* Create dvb_frontend */
-
memcpy(&state->frontend.ops, &or51211_ops, sizeof(struct dvb_frontend_ops))
;
+
state->frontend.ops = &state->ops
;
state->frontend.demodulator_priv = state;
return &state->frontend;
state->frontend.demodulator_priv = state;
return &state->frontend;