mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 01:34:14 +08:00
V4L/DVB (9265): videobuf: data storage optimisation
To optimise data storage redundant vars are removed. Signed-off-by: Darron Broad <darron@kewl.org> Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
6594690b39
commit
7bdf84fc47
@ -643,7 +643,7 @@ static int cx23885_init_tsport(struct cx23885_dev *dev,
|
||||
init_timer(&port->mpegq.timeout);
|
||||
|
||||
mutex_init(&port->frontends.lock);
|
||||
INIT_LIST_HEAD(&port->frontends.frontend.felist);
|
||||
INIT_LIST_HEAD(&port->frontends.felist);
|
||||
port->frontends.active_fe_id = 0;
|
||||
|
||||
/* This should be hardcoded allow a single frontend
|
||||
|
@ -802,7 +802,7 @@ static int __devinit cx8802_probe(struct pci_dev *pci_dev,
|
||||
list_add_tail(&dev->devlist,&cx8802_devlist);
|
||||
|
||||
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);
|
||||
|
||||
|
@ -953,7 +953,7 @@ static int dvb_init(struct saa7134_dev *dev)
|
||||
|
||||
/* FIXME: add support for multi-frontend */
|
||||
mutex_init(&dev->frontends.lock);
|
||||
INIT_LIST_HEAD(&dev->frontends.frontend.felist);
|
||||
INIT_LIST_HEAD(&dev->frontends.felist);
|
||||
dev->frontends.active_fe_id = 0;
|
||||
|
||||
printk(KERN_INFO "%s() allocating 1 frontend\n", __func__);
|
||||
|
@ -162,9 +162,8 @@ int videobuf_dvb_register_bus(struct videobuf_dvb_frontends *f,
|
||||
|
||||
/* Attach all of the frontends to the adapter */
|
||||
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);
|
||||
|
||||
res = videobuf_dvb_register_frontend(&f->adapter, &fe->dvb);
|
||||
if (res < 0) {
|
||||
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)
|
||||
struct videobuf_dvb_frontend *fe;
|
||||
|
||||
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);
|
||||
|
||||
dvb_net_release(&fe->dvb.net);
|
||||
@ -316,7 +315,7 @@ struct videobuf_dvb_frontend * videobuf_dvb_get_frontend(struct videobuf_dvb_fro
|
||||
|
||||
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);
|
||||
if (fe->id == id) {
|
||||
ret = fe;
|
||||
@ -337,7 +336,7 @@ int videobuf_dvb_find_frontend(struct videobuf_dvb_frontends *f, struct dvb_fron
|
||||
|
||||
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);
|
||||
if (fe->dvb.frontend == p) {
|
||||
ret = fe->id;
|
||||
@ -363,7 +362,7 @@ struct videobuf_dvb_frontend * videobuf_dvb_alloc_frontend(void *private, struct
|
||||
mutex_init(&fe->dvb.lock);
|
||||
|
||||
mutex_lock(&f->lock);
|
||||
list_add_tail(&fe->felist,&f->frontend.felist);
|
||||
list_add_tail(&fe->felist,&f->felist);
|
||||
mutex_unlock(&f->lock);
|
||||
|
||||
fail_alloc:
|
||||
|
@ -16,7 +16,6 @@ struct videobuf_dvb {
|
||||
int nfeeds;
|
||||
|
||||
/* videobuf_dvb_(un)register manges this */
|
||||
struct dvb_adapter adapter;
|
||||
struct dvb_demux demux;
|
||||
struct dmxdev dmxdev;
|
||||
struct dmx_frontend fe_hw;
|
||||
@ -25,17 +24,17 @@ struct videobuf_dvb {
|
||||
};
|
||||
|
||||
struct videobuf_dvb_frontend {
|
||||
void *dev;
|
||||
struct list_head felist;
|
||||
void *dev;
|
||||
int id;
|
||||
struct videobuf_dvb dvb;
|
||||
};
|
||||
|
||||
struct videobuf_dvb_frontends {
|
||||
struct list_head felist;
|
||||
struct mutex lock;
|
||||
struct dvb_adapter adapter;
|
||||
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 */
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user