diff options
Diffstat (limited to 'arch/um/drivers')
| -rw-r--r-- | arch/um/drivers/Makefile | 1 | ||||
| -rw-r--r-- | arch/um/drivers/line.c | 2 | ||||
| -rw-r--r-- | arch/um/drivers/ubd_kern.c | 19 | 
3 files changed, 12 insertions, 10 deletions
diff --git a/arch/um/drivers/Makefile b/arch/um/drivers/Makefile index d283e7b022a..1d9b6ae967b 100644 --- a/arch/um/drivers/Makefile +++ b/arch/um/drivers/Makefile @@ -62,5 +62,6 @@ obj-$(CONFIG_UML_RANDOM) += random.o  # pcap_user.o must be added explicitly.  USER_OBJS := fd.o null.o pty.o tty.o xterm.o slip_common.o pcap_user.o vde_user.o +CFLAGS_null.o = -DDEV_NULL=$(DEV_NULL_PATH)  include arch/um/scripts/Makefile.rules diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c index d741f35d7b3..14a102e877d 100644 --- a/arch/um/drivers/line.c +++ b/arch/um/drivers/line.c @@ -275,6 +275,8 @@ int line_ioctl(struct tty_struct *tty, struct file * file,  	case TIOCGLTC:  	case TIOCSLTC:  #endif +	/* Note: these are out of date as we now have TCGETS2 etc but this +	   whole lot should probably go away */  	case TCGETS:  	case TCSETSF:  	case TCSETSW: diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c index b58fb8941d8..0a868118cf0 100644 --- a/arch/um/drivers/ubd_kern.c +++ b/arch/um/drivers/ubd_kern.c @@ -98,9 +98,9 @@ static inline void ubd_set_bit(__u64 bit, unsigned char *data)  static DEFINE_MUTEX(ubd_lock); -static int ubd_open(struct inode * inode, struct file * filp); -static int ubd_release(struct inode * inode, struct file * file); -static int ubd_ioctl(struct inode * inode, struct file * file, +static int ubd_open(struct block_device *bdev, fmode_t mode); +static int ubd_release(struct gendisk *disk, fmode_t mode); +static int ubd_ioctl(struct block_device *bdev, fmode_t mode,  		     unsigned int cmd, unsigned long arg);  static int ubd_getgeo(struct block_device *bdev, struct hd_geometry *geo); @@ -1112,9 +1112,9 @@ static int __init ubd_driver_init(void){  device_initcall(ubd_driver_init); -static int ubd_open(struct inode *inode, struct file *filp) +static int ubd_open(struct block_device *bdev, fmode_t mode)  { -	struct gendisk *disk = inode->i_bdev->bd_disk; +	struct gendisk *disk = bdev->bd_disk;  	struct ubd *ubd_dev = disk->private_data;  	int err = 0; @@ -1131,7 +1131,7 @@ static int ubd_open(struct inode *inode, struct file *filp)  	/* This should no more be needed. And it didn't work anyway to exclude  	 * read-write remounting of filesystems.*/ -	/*if((filp->f_mode & FMODE_WRITE) && !ubd_dev->openflags.w){ +	/*if((mode & FMODE_WRITE) && !ubd_dev->openflags.w){  	        if(--ubd_dev->count == 0) ubd_close_dev(ubd_dev);  	        err = -EROFS;  	}*/ @@ -1139,9 +1139,8 @@ static int ubd_open(struct inode *inode, struct file *filp)  	return err;  } -static int ubd_release(struct inode * inode, struct file * file) +static int ubd_release(struct gendisk *disk, fmode_t mode)  { -	struct gendisk *disk = inode->i_bdev->bd_disk;  	struct ubd *ubd_dev = disk->private_data;  	if(--ubd_dev->count == 0) @@ -1306,10 +1305,10 @@ static int ubd_getgeo(struct block_device *bdev, struct hd_geometry *geo)  	return 0;  } -static int ubd_ioctl(struct inode * inode, struct file * file, +static int ubd_ioctl(struct block_device *bdev, fmode_t mode,  		     unsigned int cmd, unsigned long arg)  { -	struct ubd *ubd_dev = inode->i_bdev->bd_disk->private_data; +	struct ubd *ubd_dev = bdev->bd_disk->private_data;  	struct hd_driveid ubd_id = {  		.cyls		= 0,  		.heads		= 128,  | 
