staging: vme_user: remove open/release
Checking for image[minor].resource != NULL is not needed since all resources are allocated before device is created. image[minor].users accounting is deleted because it's not being used. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com> Cc: Igor Alekseev <igor.alekseev@itep.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
e4aea6aa03
Коммит
0b029cb2f5
|
@ -99,7 +99,6 @@ struct image_desc {
|
|||
struct mutex mutex; /* Mutex for locking image */
|
||||
struct device *device; /* Sysfs device */
|
||||
struct vme_resource *resource; /* VME resource */
|
||||
int users; /* Number of current users */
|
||||
int mmap_count; /* Number of current mmap's */
|
||||
};
|
||||
static struct image_desc image[VME_DEVS];
|
||||
|
@ -122,46 +121,6 @@ struct vme_user_vma_priv {
|
|||
};
|
||||
|
||||
|
||||
static int vme_user_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
int err;
|
||||
unsigned int minor = MINOR(inode->i_rdev);
|
||||
|
||||
mutex_lock(&image[minor].mutex);
|
||||
/* Allow device to be opened if a resource is needed and allocated. */
|
||||
if (minor < CONTROL_MINOR && image[minor].resource == NULL) {
|
||||
pr_err("No resources allocated for device\n");
|
||||
err = -EINVAL;
|
||||
goto err_res;
|
||||
}
|
||||
|
||||
/* Increment user count */
|
||||
image[minor].users++;
|
||||
|
||||
mutex_unlock(&image[minor].mutex);
|
||||
|
||||
return 0;
|
||||
|
||||
err_res:
|
||||
mutex_unlock(&image[minor].mutex);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static int vme_user_release(struct inode *inode, struct file *file)
|
||||
{
|
||||
unsigned int minor = MINOR(inode->i_rdev);
|
||||
|
||||
mutex_lock(&image[minor].mutex);
|
||||
|
||||
/* Decrement user count */
|
||||
image[minor].users--;
|
||||
|
||||
mutex_unlock(&image[minor].mutex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* We are going ot alloc a page during init per window for small transfers.
|
||||
* Small transfers will go VME -> buffer -> user space. Larger (more than a
|
||||
|
@ -596,8 +555,6 @@ static int vme_user_mmap(struct file *file, struct vm_area_struct *vma)
|
|||
}
|
||||
|
||||
static const struct file_operations vme_user_fops = {
|
||||
.open = vme_user_open,
|
||||
.release = vme_user_release,
|
||||
.read = vme_user_read,
|
||||
.write = vme_user_write,
|
||||
.llseek = vme_user_llseek,
|
||||
|
@ -670,7 +627,6 @@ static int vme_user_probe(struct vme_dev *vdev)
|
|||
mutex_init(&image[i].mutex);
|
||||
image[i].device = NULL;
|
||||
image[i].resource = NULL;
|
||||
image[i].users = 0;
|
||||
}
|
||||
|
||||
/* Assign major and minor numbers for the driver */
|
||||
|
|
Загрузка…
Ссылка в новой задаче