diff options
| -rw-r--r-- | fs/char_dev.c | 44 | ||||
| -rw-r--r-- | include/linux/cdev.h | 2 |
2 files changed, 22 insertions, 24 deletions
diff --git a/fs/char_dev.c b/fs/char_dev.c index 00993daec453..51e6461854ab 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c @@ -249,6 +249,28 @@ int unregister_chrdev(unsigned int major, const char *name) } static spinlock_t cdev_lock = SPIN_LOCK_UNLOCKED; + +static struct kobject *cdev_get(struct cdev *p) +{ + struct module *owner = p->owner; + struct kobject *kobj; + + if (owner && !try_module_get(owner)) + return NULL; + kobj = kobject_get(&p->kobj); + if (!kobj) + module_put(owner); + return kobj; +} + +void cdev_put(struct cdev *p) +{ + if (p) { + kobject_put(&p->kobj); + module_put(p->owner); + } +} + /* * Called every time a character special file is opened */ @@ -357,26 +379,6 @@ void cdev_del(struct cdev *p) kobject_put(&p->kobj); } -struct kobject *cdev_get(struct cdev *p) -{ - struct module *owner = p->owner; - struct kobject *kobj; - - if (owner && !try_module_get(owner)) - return NULL; - kobj = kobject_get(&p->kobj); - if (!kobj) - module_put(owner); - return kobj; -} - -void cdev_put(struct cdev *p) -{ - if (p) { - kobject_put(&p->kobj); - module_put(p->owner); - } -} static decl_subsys(cdev, NULL, NULL); @@ -447,8 +449,6 @@ EXPORT_SYMBOL(unregister_chrdev_region); EXPORT_SYMBOL(alloc_chrdev_region); EXPORT_SYMBOL(cdev_init); EXPORT_SYMBOL(cdev_alloc); -EXPORT_SYMBOL(cdev_get); -EXPORT_SYMBOL(cdev_put); EXPORT_SYMBOL(cdev_del); EXPORT_SYMBOL(cdev_add); EXPORT_SYMBOL(register_chrdev); diff --git a/include/linux/cdev.h b/include/linux/cdev.h index f1996ec09e96..8da37e29cb87 100644 --- a/include/linux/cdev.h +++ b/include/linux/cdev.h @@ -17,8 +17,6 @@ struct cdev *cdev_alloc(void); void cdev_put(struct cdev *p); -struct kobject *cdev_get(struct cdev *); - int cdev_add(struct cdev *, dev_t, unsigned); void cdev_del(struct cdev *); |
