提交 7bdf84fc 编写于 作者: D Darron Broad 提交者: Mauro Carvalho Chehab

V4L/DVB (9265): videobuf: data storage optimisation

To optimise data storage redundant vars are removed.
Signed-off-by: NDarron Broad <darron@kewl.org>
Signed-off-by: NSteven Toth <stoth@linuxtv.org>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 6594690b
...@@ -643,7 +643,7 @@ static int cx23885_init_tsport(struct cx23885_dev *dev, ...@@ -643,7 +643,7 @@ static int cx23885_init_tsport(struct cx23885_dev *dev,
init_timer(&port->mpegq.timeout); init_timer(&port->mpegq.timeout);
mutex_init(&port->frontends.lock); mutex_init(&port->frontends.lock);
INIT_LIST_HEAD(&port->frontends.frontend.felist); INIT_LIST_HEAD(&port->frontends.felist);
port->frontends.active_fe_id = 0; port->frontends.active_fe_id = 0;
/* This should be hardcoded allow a single frontend /* This should be hardcoded allow a single frontend
......
...@@ -802,7 +802,7 @@ static int __devinit cx8802_probe(struct pci_dev *pci_dev, ...@@ -802,7 +802,7 @@ static int __devinit cx8802_probe(struct pci_dev *pci_dev,
list_add_tail(&dev->devlist,&cx8802_devlist); list_add_tail(&dev->devlist,&cx8802_devlist);
mutex_init(&dev->frontends.lock); mutex_init(&dev->frontends.lock);
INIT_LIST_HEAD(&dev->frontends.frontend.felist); INIT_LIST_HEAD(&dev->frontends.felist);
printk(KERN_INFO "%s() allocating %d frontend(s)\n", __func__, core->board.num_frontends); printk(KERN_INFO "%s() allocating %d frontend(s)\n", __func__, core->board.num_frontends);
......
...@@ -953,7 +953,7 @@ static int dvb_init(struct saa7134_dev *dev) ...@@ -953,7 +953,7 @@ static int dvb_init(struct saa7134_dev *dev)
/* FIXME: add support for multi-frontend */ /* FIXME: add support for multi-frontend */
mutex_init(&dev->frontends.lock); mutex_init(&dev->frontends.lock);
INIT_LIST_HEAD(&dev->frontends.frontend.felist); INIT_LIST_HEAD(&dev->frontends.felist);
dev->frontends.active_fe_id = 0; dev->frontends.active_fe_id = 0;
printk(KERN_INFO "%s() allocating 1 frontend\n", __func__); printk(KERN_INFO "%s() allocating 1 frontend\n", __func__);
......
...@@ -162,9 +162,8 @@ int videobuf_dvb_register_bus(struct videobuf_dvb_frontends *f, ...@@ -162,9 +162,8 @@ int videobuf_dvb_register_bus(struct videobuf_dvb_frontends *f,
/* Attach all of the frontends to the adapter */ /* Attach all of the frontends to the adapter */
mutex_lock(&f->lock); mutex_lock(&f->lock);
list_for_each_safe(list, q, &f->frontend.felist) { list_for_each_safe(list, q, &f->felist) {
fe = list_entry(list, struct videobuf_dvb_frontend, felist); fe = list_entry(list, struct videobuf_dvb_frontend, felist);
res = videobuf_dvb_register_frontend(&f->adapter, &fe->dvb); res = videobuf_dvb_register_frontend(&f->adapter, &fe->dvb);
if (res < 0) { if (res < 0) {
printk(KERN_WARNING "%s: videobuf_dvb_register_frontend failed (errno = %d)\n", printk(KERN_WARNING "%s: videobuf_dvb_register_frontend failed (errno = %d)\n",
...@@ -290,7 +289,7 @@ void videobuf_dvb_unregister_bus(struct videobuf_dvb_frontends *f) ...@@ -290,7 +289,7 @@ void videobuf_dvb_unregister_bus(struct videobuf_dvb_frontends *f)
struct videobuf_dvb_frontend *fe; struct videobuf_dvb_frontend *fe;
mutex_lock(&f->lock); mutex_lock(&f->lock);
list_for_each_safe(list, q, &f->frontend.felist) { list_for_each_safe(list, q, &f->felist) {
fe = list_entry(list, struct videobuf_dvb_frontend, felist); fe = list_entry(list, struct videobuf_dvb_frontend, felist);
dvb_net_release(&fe->dvb.net); dvb_net_release(&fe->dvb.net);
...@@ -316,7 +315,7 @@ struct videobuf_dvb_frontend * videobuf_dvb_get_frontend(struct videobuf_dvb_fro ...@@ -316,7 +315,7 @@ struct videobuf_dvb_frontend * videobuf_dvb_get_frontend(struct videobuf_dvb_fro
mutex_lock(&f->lock); mutex_lock(&f->lock);
list_for_each_safe(list, q, &f->frontend.felist) { list_for_each_safe(list, q, &f->felist) {
fe = list_entry(list, struct videobuf_dvb_frontend, felist); fe = list_entry(list, struct videobuf_dvb_frontend, felist);
if (fe->id == id) { if (fe->id == id) {
ret = fe; ret = fe;
...@@ -337,7 +336,7 @@ int videobuf_dvb_find_frontend(struct videobuf_dvb_frontends *f, struct dvb_fron ...@@ -337,7 +336,7 @@ int videobuf_dvb_find_frontend(struct videobuf_dvb_frontends *f, struct dvb_fron
mutex_lock(&f->lock); mutex_lock(&f->lock);
list_for_each_safe(list, q, &f->frontend.felist) { list_for_each_safe(list, q, &f->felist) {
fe = list_entry(list, struct videobuf_dvb_frontend, felist); fe = list_entry(list, struct videobuf_dvb_frontend, felist);
if (fe->dvb.frontend == p) { if (fe->dvb.frontend == p) {
ret = fe->id; ret = fe->id;
...@@ -363,7 +362,7 @@ struct videobuf_dvb_frontend * videobuf_dvb_alloc_frontend(void *private, struct ...@@ -363,7 +362,7 @@ struct videobuf_dvb_frontend * videobuf_dvb_alloc_frontend(void *private, struct
mutex_init(&fe->dvb.lock); mutex_init(&fe->dvb.lock);
mutex_lock(&f->lock); mutex_lock(&f->lock);
list_add_tail(&fe->felist,&f->frontend.felist); list_add_tail(&fe->felist,&f->felist);
mutex_unlock(&f->lock); mutex_unlock(&f->lock);
fail_alloc: fail_alloc:
......
...@@ -16,7 +16,6 @@ struct videobuf_dvb { ...@@ -16,7 +16,6 @@ struct videobuf_dvb {
int nfeeds; int nfeeds;
/* videobuf_dvb_(un)register manges this */ /* videobuf_dvb_(un)register manges this */
struct dvb_adapter adapter;
struct dvb_demux demux; struct dvb_demux demux;
struct dmxdev dmxdev; struct dmxdev dmxdev;
struct dmx_frontend fe_hw; struct dmx_frontend fe_hw;
...@@ -25,17 +24,17 @@ struct videobuf_dvb { ...@@ -25,17 +24,17 @@ struct videobuf_dvb {
}; };
struct videobuf_dvb_frontend { struct videobuf_dvb_frontend {
void *dev;
struct list_head felist; struct list_head felist;
void *dev;
int id; int id;
struct videobuf_dvb dvb; struct videobuf_dvb dvb;
}; };
struct videobuf_dvb_frontends { struct videobuf_dvb_frontends {
struct list_head felist;
struct mutex lock; struct mutex lock;
struct dvb_adapter adapter; struct dvb_adapter adapter;
int active_fe_id; /* Indicates which frontend in the felist is in use */ int active_fe_id; /* Indicates which frontend in the felist is in use */
struct videobuf_dvb_frontend frontend;
int gate; /* Frontend with gate control 0=!MFE,1=fe0,2=fe1 etc */ int gate; /* Frontend with gate control 0=!MFE,1=fe0,2=fe1 etc */
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册