On 12/16/2012 01:11 AM, Patrice Chotard wrote:
Previously, gate control didn't work until drxd_init()
execution. Migrate necessary set of commands in drxd_attach
to allow gate control to be used by tuner which are
accessible through i2c gate.
Reported-by: frederic.mantegazza@xxxxxxxxxxx
Signed-off-by: Patrice Chotard <patricechotard@xxxxxxx>
---
drivers/media/dvb-frontends/drxd_hard.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/media/dvb-frontends/drxd_hard.c
b/drivers/media/dvb-frontends/drxd_hard.c
index 6d98537..b2ab1e8 100644
--- a/drivers/media/dvb-frontends/drxd_hard.c
+++ b/drivers/media/dvb-frontends/drxd_hard.c
@@ -2978,6 +2978,10 @@ struct dvb_frontend *drxd_attach(const struct
drxd_config *config,
sizeof(struct dvb_frontend_ops));
state->frontend.demodulator_priv = state;
ConfigureMPEGOutput(state, 0);
+ /* add few initialization to allow gate control */
+ CDRXD(state, state->config.IF ? state->config.IF : 36000000);
+ InitHI(state);
+
return &state->frontend;
error:
Reviewed-by: Antti Palosaari <crope@xxxxxx>
I looked it quite carefully. Comments could be nice, but as far as I
understood:
ConfigureMPEGOutput(state, 0);
* that puts device sleeping, mostly configures MPEG TS IF (set pins to
some state eg. Hi-Z to prevent current leakage, I can guess).
CDRXD(state, state->config.IF ? state->config.IF : 36000000);
* that just initializes state - no I/O
InitHI(state);
* there is comment: port/bridge/power down ctrl
* HI == host interface ?
* that is normally done during init(),
* only one command => not much I/O
Looks fine, thank you!
regards
Antti
--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html