V4L/DVB (5319): Set tda827x to sleep mode after attach

This change sets the tda827x to sleep mode right after attach in dvb
mode. It is just to save power. For the same reason, the ADC of the
tda10046 gets turned off in sleep mode.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff --git a/drivers/media/dvb/frontends/tda827x.c b/drivers/media/dvb/frontends/tda827x.c
index cff2d1f..1fa58c5 100644
--- a/drivers/media/dvb/frontends/tda827x.c
+++ b/drivers/media/dvb/frontends/tda827x.c
@@ -426,6 +426,7 @@
 {
 	struct tda827x_priv *priv = NULL;
 	u8 data;
+	u8 sb_msg[] = { 0x30, 0xd0 };
 	struct i2c_msg msg = { .addr = addr, .flags = I2C_M_RD,
 			       .buf = &data, .len = 1 };
 	dprintk("%s:\n", __FUNCTION__);
@@ -446,15 +447,21 @@
 	priv->i2c_addr = addr;
 	priv->i2c_adap = i2c;
 	priv->cfg = cfg;
+
+	msg.flags = 0;
+	msg.buf = sb_msg;
+	msg.len = sizeof(sb_msg);
+
 	if ((data & 0x3c) == 0) {
 		dprintk("tda827x tuner found\n");
 		memcpy(&fe->ops.tuner_ops, &tda827xo_tuner_ops, sizeof(struct dvb_tuner_ops));
 	} else {
 		dprintk("tda827xa tuner found\n");
 		memcpy(&fe->ops.tuner_ops, &tda827xa_tuner_ops, sizeof(struct dvb_tuner_ops));
+		sb_msg[1] = 0x90;
 	}
 	fe->tuner_priv = priv;
-
+	i2c_transfer(i2c, &msg, 1);
 	return fe;
 }
 EXPORT_SYMBOL(tda827x_attach);