From 2846345c2f245a034cb09ff0a948d2afb3bae2f1 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 21 Dec 2011 15:13:54 -0800 Subject: [PATCH] --- yaml --- r: 280085 b: refs/heads/master c: b3e8d7b2478401b2f25f4566a90faad54f7d6d07 h: refs/heads/master i: 280083: 4f04639661a00c2a42b8a82c3b0191c27a50ef82 v: v3 --- [refs] | 2 +- trunk/include/linux/kobject.h | 2 -- trunk/lib/kobject.c | 37 ----------------------------------- 3 files changed, 1 insertion(+), 40 deletions(-) diff --git a/[refs] b/[refs] index 03793ffcdf37..99c58fb6def6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a6ec0c03a039677e4b4b5a67a6e19e9e26303000 +refs/heads/master: b3e8d7b2478401b2f25f4566a90faad54f7d6d07 diff --git a/trunk/include/linux/kobject.h b/trunk/include/linux/kobject.h index ad81e1c51487..fc615a97e2d3 100644 --- a/trunk/include/linux/kobject.h +++ b/trunk/include/linux/kobject.h @@ -191,8 +191,6 @@ static inline struct kobj_type *get_ktype(struct kobject *kobj) } extern struct kobject *kset_find_obj(struct kset *, const char *); -extern struct kobject *kset_find_obj_hinted(struct kset *, const char *, - struct kobject *); /* The global /sys/kernel/ kobject for people to chain off of */ extern struct kobject *kernel_kobj; diff --git a/trunk/lib/kobject.c b/trunk/lib/kobject.c index 640bd98a4c8a..c33d7a18d635 100644 --- a/trunk/lib/kobject.c +++ b/trunk/lib/kobject.c @@ -745,44 +745,12 @@ void kset_unregister(struct kset *k) * take a reference and return the object. */ struct kobject *kset_find_obj(struct kset *kset, const char *name) -{ - return kset_find_obj_hinted(kset, name, NULL); -} - -/** - * kset_find_obj_hinted - search for object in kset given a predecessor hint. - * @kset: kset we're looking in. - * @name: object's name. - * @hint: hint to possible object's predecessor. - * - * Check the hint's next object and if it is a match return it directly, - * otherwise, fall back to the behavior of kset_find_obj(). Either way - * a reference for the returned object is held and the reference on the - * hinted object is released. - */ -struct kobject *kset_find_obj_hinted(struct kset *kset, const char *name, - struct kobject *hint) { struct kobject *k; struct kobject *ret = NULL; spin_lock(&kset->list_lock); - if (!hint) - goto slow_search; - - /* end of list detection */ - if (hint->entry.next == kset->list.next) - goto slow_search; - - k = container_of(hint->entry.next, struct kobject, entry); - if (!kobject_name(k) || strcmp(kobject_name(k), name)) - goto slow_search; - - ret = kobject_get(k); - goto unlock_exit; - -slow_search: list_for_each_entry(k, &kset->list, entry) { if (kobject_name(k) && !strcmp(kobject_name(k), name)) { ret = kobject_get(k); @@ -790,12 +758,7 @@ struct kobject *kset_find_obj_hinted(struct kset *kset, const char *name, } } -unlock_exit: spin_unlock(&kset->list_lock); - - if (hint) - kobject_put(hint); - return ret; }