git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
USB: fix minor nit in usbfs checking
[safe/jmp/linux-2.6]
/
drivers
/
block
/
pktcdvd.c
diff --git
a/drivers/block/pktcdvd.c
b/drivers/block/pktcdvd.c
index
33ac8dd
..
dc7a8c3
100644
(file)
--- a/
drivers/block/pktcdvd.c
+++ b/
drivers/block/pktcdvd.c
@@
-302,7
+302,7
@@
static struct kobj_type kobj_pkt_type_wqueue = {
static void pkt_sysfs_dev_new(struct pktcdvd_device *pd)
{
if (class_pktcdvd) {
static void pkt_sysfs_dev_new(struct pktcdvd_device *pd)
{
if (class_pktcdvd) {
- pd->dev = device_create(class_pktcdvd, NULL,
pd->pkt_dev
, NULL,
+ pd->dev = device_create(class_pktcdvd, NULL,
MKDEV(0, 0)
, NULL,
"%s", pd->name);
if (IS_ERR(pd->dev))
pd->dev = NULL;
"%s", pd->name);
if (IS_ERR(pd->dev))
pd->dev = NULL;
@@
-2332,7
+2332,7
@@
static int pkt_open_dev(struct pktcdvd_device *pd, fmode_t write)
* so bdget() can't fail.
*/
bdget(pd->bdev->bd_dev);
* so bdget() can't fail.
*/
bdget(pd->bdev->bd_dev);
- if ((ret = blkdev_get(pd->bdev, FMODE_READ
, O_RDONLY
)))
+ if ((ret = blkdev_get(pd->bdev, FMODE_READ)))
goto out;
if ((ret = bd_claim(pd->bdev, pd)))
goto out;
if ((ret = bd_claim(pd->bdev, pd)))
@@
-2381,7
+2381,7
@@
static int pkt_open_dev(struct pktcdvd_device *pd, fmode_t write)
out_unclaim:
bd_release(pd->bdev);
out_putdev:
out_unclaim:
bd_release(pd->bdev);
out_putdev:
- blkdev_put(pd->bdev);
+ blkdev_put(pd->bdev
, FMODE_READ
);
out:
return ret;
}
out:
return ret;
}
@@
-2399,7
+2399,7
@@
static void pkt_release_dev(struct pktcdvd_device *pd, int flush)
pkt_set_speed(pd, MAX_SPEED, MAX_SPEED);
bd_release(pd->bdev);
pkt_set_speed(pd, MAX_SPEED, MAX_SPEED);
bd_release(pd->bdev);
- blkdev_put(pd->bdev);
+ blkdev_put(pd->bdev
, FMODE_READ
);
pkt_shrink_pktlist(pd);
}
pkt_shrink_pktlist(pd);
}
@@
-2411,7
+2411,7
@@
static struct pktcdvd_device *pkt_find_dev_from_minor(int dev_minor)
return pkt_devs[dev_minor];
}
return pkt_devs[dev_minor];
}
-static int pkt_open(struct
inode *inode, struct file *fil
e)
+static int pkt_open(struct
block_device *bdev, fmode_t mod
e)
{
struct pktcdvd_device *pd = NULL;
int ret;
{
struct pktcdvd_device *pd = NULL;
int ret;
@@
-2419,7
+2419,7
@@
static int pkt_open(struct inode *inode, struct file *file)
VPRINTK(DRIVER_NAME": entering open\n");
mutex_lock(&ctl_mutex);
VPRINTK(DRIVER_NAME": entering open\n");
mutex_lock(&ctl_mutex);
- pd = pkt_find_dev_from_minor(
iminor(inode
));
+ pd = pkt_find_dev_from_minor(
MINOR(bdev->bd_dev
));
if (!pd) {
ret = -ENODEV;
goto out;
if (!pd) {
ret = -ENODEV;
goto out;
@@
-2428,20
+2428,20
@@
static int pkt_open(struct inode *inode, struct file *file)
pd->refcnt++;
if (pd->refcnt > 1) {
pd->refcnt++;
if (pd->refcnt > 1) {
- if ((
file->f_
mode & FMODE_WRITE) &&
+ if ((mode & FMODE_WRITE) &&
!test_bit(PACKET_WRITABLE, &pd->flags)) {
ret = -EBUSY;
goto out_dec;
}
} else {
!test_bit(PACKET_WRITABLE, &pd->flags)) {
ret = -EBUSY;
goto out_dec;
}
} else {
- ret = pkt_open_dev(pd,
file->f_
mode & FMODE_WRITE);
+ ret = pkt_open_dev(pd, mode & FMODE_WRITE);
if (ret)
goto out_dec;
/*
* needed here as well, since ext2 (among others) may change
* the blocksize at mount time
*/
if (ret)
goto out_dec;
/*
* needed here as well, since ext2 (among others) may change
* the blocksize at mount time
*/
- set_blocksize(
inode->i_
bdev, CD_FRAMESIZE);
+ set_blocksize(bdev, CD_FRAMESIZE);
}
mutex_unlock(&ctl_mutex);
}
mutex_unlock(&ctl_mutex);
@@
-2455,9
+2455,9
@@
out:
return ret;
}
return ret;
}
-static int pkt_close(struct
inode *inode, struct file *fil
e)
+static int pkt_close(struct
gendisk *disk, fmode_t mod
e)
{
{
- struct pktcdvd_device *pd =
inode->i_bdev->bd_
disk->private_data;
+ struct pktcdvd_device *pd = disk->private_data;
int ret = 0;
mutex_lock(&ctl_mutex);
int ret = 0;
mutex_lock(&ctl_mutex);
@@
-2765,7
+2765,7
@@
static int pkt_new_dev(struct pktcdvd_device *pd, dev_t dev)
bdev = bdget(dev);
if (!bdev)
return -ENOMEM;
bdev = bdget(dev);
if (!bdev)
return -ENOMEM;
- ret = blkdev_get(bdev, FMODE_READ
, O_RDONLY | O_NONBLOCK
);
+ ret = blkdev_get(bdev, FMODE_READ
| FMODE_NDELAY
);
if (ret)
return ret;
if (ret)
return ret;
@@
-2790,17
+2790,18
@@
static int pkt_new_dev(struct pktcdvd_device *pd, dev_t dev)
return 0;
out_mem:
return 0;
out_mem:
- blkdev_put(bdev);
+ blkdev_put(bdev
, FMODE_READ | FMODE_NDELAY
);
/* This is safe: open() is still holding a reference. */
module_put(THIS_MODULE);
return ret;
}
/* This is safe: open() is still holding a reference. */
module_put(THIS_MODULE);
return ret;
}
-static int pkt_ioctl(struct
inode *inode, struct file *fil
e, unsigned int cmd, unsigned long arg)
+static int pkt_ioctl(struct
block_device *bdev, fmode_t mod
e, unsigned int cmd, unsigned long arg)
{
{
- struct pktcdvd_device *pd =
inode->i_
bdev->bd_disk->private_data;
+ struct pktcdvd_device *pd = bdev->bd_disk->private_data;
- VPRINTK("pkt_ioctl: cmd %x, dev %d:%d\n", cmd, imajor(inode), iminor(inode));
+ VPRINTK("pkt_ioctl: cmd %x, dev %d:%d\n", cmd,
+ MAJOR(bdev->bd_dev), MINOR(bdev->bd_dev));
switch (cmd) {
case CDROMEJECT:
switch (cmd) {
case CDROMEJECT:
@@
-2819,8
+2820,7
@@
static int pkt_ioctl(struct inode *inode, struct file *file, unsigned int cmd, u
case CDROM_LAST_WRITTEN:
case CDROM_SEND_PACKET:
case SCSI_IOCTL_SEND_COMMAND:
case CDROM_LAST_WRITTEN:
case CDROM_SEND_PACKET:
case SCSI_IOCTL_SEND_COMMAND:
- return __blkdev_driver_ioctl(pd->bdev, file ? file->f_mode : 0,
- cmd, arg);
+ return __blkdev_driver_ioctl(pd->bdev, mode, cmd, arg);
default:
VPRINTK(DRIVER_NAME": Unknown ioctl for %s (%x)\n", pd->name, cmd);
default:
VPRINTK(DRIVER_NAME": Unknown ioctl for %s (%x)\n", pd->name, cmd);
@@
-2847,9
+2847,9
@@
static int pkt_media_changed(struct gendisk *disk)
static struct block_device_operations pktcdvd_ops = {
.owner = THIS_MODULE,
static struct block_device_operations pktcdvd_ops = {
.owner = THIS_MODULE,
- .
__open =
pkt_open,
- .
__release =
pkt_close,
- .
__ioctl =
pkt_ioctl,
+ .
open =
pkt_open,
+ .
release =
pkt_close,
+ .
locked_ioctl =
pkt_ioctl,
.media_changed = pkt_media_changed,
};
.media_changed = pkt_media_changed,
};
@@
-2975,7
+2975,7
@@
static int pkt_remove_dev(dev_t pkt_dev)
pkt_debugfs_dev_remove(pd);
pkt_sysfs_dev_remove(pd);
pkt_debugfs_dev_remove(pd);
pkt_sysfs_dev_remove(pd);
- blkdev_put(pd->bdev);
+ blkdev_put(pd->bdev
, FMODE_READ | FMODE_NDELAY
);
remove_proc_entry(pd->name, pkt_proc);
DPRINTK(DRIVER_NAME": writer %s unmapped\n", pd->name);
remove_proc_entry(pd->name, pkt_proc);
DPRINTK(DRIVER_NAME": writer %s unmapped\n", pd->name);