- spin_lock(&obd_types_lock);
- list_for_each(tmp, &obd_types) {
- type = list_entry(tmp, struct obd_type, typ_chain);
- if (strcmp(type->typ_name, name) == 0) {
- spin_unlock(&obd_types_lock);
- return type;
- }
- }
- spin_unlock(&obd_types_lock);
+ if (kobj && kobj->ktype == &class_ktype)
+ return container_of(kobj, struct obd_type, typ_kobj);
+
+ kobject_put(kobj);