Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 130749
b: refs/heads/master
c: 601139e
h: refs/heads/master
i:
  130747: 07bd0cd
v: v3
  • Loading branch information
Trent Piepho authored and Mauro Carvalho Chehab committed Jan 29, 2009
1 parent 6fe65e2 commit 174b010
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 31 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 45bdcefea25cad2d7443f5b45a5319e2bd201048
refs/heads/master: 601139e08339b15997c6ae638dc5bf42c51ea204
9 changes: 3 additions & 6 deletions trunk/drivers/media/video/zoran/zoran_card.c
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,7 @@ static struct pci_device_id zr36067_pci_tbl[] = {
};
MODULE_DEVICE_TABLE(pci, zr36067_pci_tbl);

atomic_t zoran_num = ATOMIC_INIT(0); /* number of Buzs in use */
struct zoran *zoran[BUZ_MAX];
static unsigned int zoran_num; /* number of cards found */

/* videocodec bus functions ZR36060 */
static u32
Expand Down Expand Up @@ -1144,6 +1143,7 @@ zr36057_init (struct zoran *zr)
err = video_register_device(zr->video_dev, VFL_TYPE_GRABBER, video_nr[zr->id]);
if (err < 0)
goto exit_free;
video_set_drvdata(zr->video_dev, zr);

zoran_init_hardware(zr);
if (zr36067_debug > 2)
Expand Down Expand Up @@ -1275,7 +1275,7 @@ static int __devinit zoran_probe(struct pci_dev *pdev,
unsigned int nr;


nr = atomic_inc_return(&zoran_num) - 1;
nr = zoran_num++;
if (nr >= BUZ_MAX) {
dprintk(1,
KERN_ERR
Expand All @@ -1291,7 +1291,6 @@ static int __devinit zoran_probe(struct pci_dev *pdev,
KERN_ERR
"%s: find_zr36057() - kzalloc failed\n",
ZORAN_NAME);
/* The entry in zoran[] gets leaked */
return -ENOMEM;
}
zr->pci_dev = pdev;
Expand Down Expand Up @@ -1547,7 +1546,6 @@ static int __devinit zoran_probe(struct pci_dev *pdev,
goto zr_detach_vfe;
}
}
zoran[nr] = zr;

/* take care of Natoma chipset and a revision 1 zr36057 */
if ((pci_pci_problems & PCIPCI_NATOMA) && zr->revision <= 1) {
Expand Down Expand Up @@ -1599,7 +1597,6 @@ static int __init zoran_init(void)
{
int res;

memset(zoran, 0, sizeof(zoran));
printk(KERN_INFO "Zoran MJPEG board driver version %d.%d.%d\n",
MAJOR_VERSION, MINOR_VERSION, RELEASE_VERSION);

Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/media/video/zoran/zoran_card.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,6 @@ extern int zr36067_debug;

/* Anybody who uses more than four? */
#define BUZ_MAX 4
extern atomic_t zoran_num;
extern struct zoran *zoran[BUZ_MAX];

extern struct video_device zoran_template;

Expand Down
25 changes: 3 additions & 22 deletions trunk/drivers/media/video/zoran/zoran_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -1196,28 +1196,13 @@ zoran_close_end_session (struct file *file)
* Open a zoran card. Right now the flags stuff is just playing
*/

static int
zoran_open(struct file *file)
static int zoran_open(struct file *file)
{
unsigned int minor = video_devdata(file)->minor;
struct zoran *zr = NULL;
struct zoran *zr = video_drvdata(file);
struct zoran_fh *fh;
int i, res, first_open = 0, have_module_locks = 0;
int res, first_open = 0, have_module_locks = 0;

lock_kernel();
/* find the device */
for (i = 0; i < atomic_read(&zoran_num); i++) {
if (zoran[i]->video_dev->minor == minor) {
zr = zoran[i];
break;
}
}

if (!zr) {
dprintk(1, KERN_ERR "%s: device not found!\n", ZORAN_NAME);
res = -ENODEV;
goto open_unlock_and_return;
}

/* see fs/device.c - the kernel already locks during open(),
* so locking ourselves only causes deadlocks */
Expand Down Expand Up @@ -1329,10 +1314,6 @@ zoran_open(struct file *file)
module_put(THIS_MODULE);
}

/* if there's no device found, we didn't obtain the lock either */
if (zr) {
/*mutex_unlock(&zr->resource_lock);*/
}
unlock_kernel();

return res;
Expand Down

0 comments on commit 174b010

Please sign in to comment.