diff options
| author | Michael Hunold <devnull@localhost> | 2003-02-27 14:37:07 +0000 |
|---|---|---|
| committer | Michael Hunold <devnull@localhost> | 2003-02-27 14:37:07 +0000 |
| commit | eedc7fd38fcda5ad3f241225580db5189faae05a (patch) | |
| tree | 33a6d3de2d7123dfcdea9388bbb2ac1919079bbf /linux/drivers/media/common | |
| parent | b8852a2112a64e58ed0a6a0b513e55eeceeb75ca (diff) | |
| download | mediapointer-dvb-s2-eedc7fd38fcda5ad3f241225580db5189faae05a.tar.gz mediapointer-dvb-s2-eedc7fd38fcda5ad3f241225580db5189faae05a.tar.bz2 | |
- fix some bugs that appeared in system with both analog and digital
based saa7146 cards
- change the initialization order to allow static builds of the mxb driver
Diffstat (limited to 'linux/drivers/media/common')
| -rw-r--r-- | linux/drivers/media/common/saa7146_core.c | 13 | ||||
| -rw-r--r-- | linux/drivers/media/common/saa7146_fops.c | 4 |
2 files changed, 9 insertions, 8 deletions
diff --git a/linux/drivers/media/common/saa7146_core.c b/linux/drivers/media/common/saa7146_core.c index 7e8f9c87c..aa01dd78f 100644 --- a/linux/drivers/media/common/saa7146_core.c +++ b/linux/drivers/media/common/saa7146_core.c @@ -28,9 +28,9 @@ struct list_head saa7146_devices; struct semaphore saa7146_devices_lock; static int initialized = 0; -static int saa7146_num = 0; +int saa7146_num = 0; -unsigned int saa7146_debug = 0; +unsigned int saa7146_debug = 247; MODULE_PARM(saa7146_debug,"i"); MODULE_PARM_DESC(saa7146_debug, "debug level (default: 0)"); @@ -311,10 +311,6 @@ int __devinit saa7146_init_one(struct pci_dev *pci, const struct pci_device_id * init_MUTEX(&dev->i2c_lock); - INIT_LIST_HEAD(&dev->item); - list_add_tail(&dev->item,&saa7146_devices); - saa7146_num++; - dev->module = THIS_MODULE; init_waitqueue_head(&dev->i2c_wq); @@ -331,6 +327,11 @@ int __devinit saa7146_init_one(struct pci_dev *pci, const struct pci_device_id * err = -ENODEV; goto attach_error; } + + INIT_LIST_HEAD(&dev->item); + list_add_tail(&dev->item,&saa7146_devices); + saa7146_num++; + err = 0; goto out; attach_error: diff --git a/linux/drivers/media/common/saa7146_fops.c b/linux/drivers/media/common/saa7146_fops.c index 217b85f14..9048bc339 100644 --- a/linux/drivers/media/common/saa7146_fops.c +++ b/linux/drivers/media/common/saa7146_fops.c @@ -193,14 +193,14 @@ int fops_open(struct inode *inode, struct file *file) dev = h; } } - DEB_D(("using: %p\n",dev)); - if (NULL == dev) { DEB_S(("no such video device.\n")); result = -ENODEV; goto out; } + DEB_D(("using: %p\n",dev)); + /* check if an extension is registered */ if( NULL == dev->ext ) { DEB_S(("no extension registered for this device.\n")); |
