提交 1c4f76ab 编写于 作者: H Hartmut Hackmann 提交者: Mauro Carvalho Chehab

V4L/DVB (5321): Saa7134-dvb: initialize the dvb frontend in dvb_init

The hardware is completely initialized afterwards, especially the
tda10046 has its firmware - which is also necessary in analog mode
of some hybrid boards.
Calling the sleep function afterwards saves power and definitely puts
hybrid boards into analog mode without additional code elsewere.
Signed-off-by: NHartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
上级 11f65106
...@@ -937,6 +937,7 @@ static struct nxt200x_config kworldatsc110 = { ...@@ -937,6 +937,7 @@ static struct nxt200x_config kworldatsc110 = {
static int dvb_init(struct saa7134_dev *dev) static int dvb_init(struct saa7134_dev *dev)
{ {
char *board_name; char *board_name;
int ret;
/* init struct videobuf_dvb */ /* init struct videobuf_dvb */
dev->ts.nr_bufs = 32; dev->ts.nr_bufs = 32;
dev->ts.nr_packets = 32*4; dev->ts.nr_packets = 32*4;
...@@ -1145,7 +1146,18 @@ static int dvb_init(struct saa7134_dev *dev) ...@@ -1145,7 +1146,18 @@ static int dvb_init(struct saa7134_dev *dev)
} }
/* register everything else */ /* register everything else */
return videobuf_dvb_register(&dev->dvb, THIS_MODULE, dev, &dev->pci->dev); ret = videobuf_dvb_register(&dev->dvb, THIS_MODULE, dev, &dev->pci->dev);
/* this sequence is necessary to make the tda1004x load its firmware
* and to enter analog mode of hybrid boards
*/
if (!ret) {
if (dev->dvb.frontend->ops.init)
dev->dvb.frontend->ops.init(dev->dvb.frontend);
if (dev->dvb.frontend->ops.sleep)
dev->dvb.frontend->ops.sleep(dev->dvb.frontend);
}
return ret;
} }
static int dvb_fini(struct saa7134_dev *dev) static int dvb_fini(struct saa7134_dev *dev)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册