return dso__find_by_longname(&dsos->root, name);
 }
 
-struct dso *__dsos__findnew(struct dsos *dsos, const char *name)
+struct dso *dsos__addnew(struct dsos *dsos, const char *name)
 {
-       struct dso *dso = dsos__find(dsos, name, false);
+       struct dso *dso = dso__new(name);
 
-       if (!dso) {
-               dso = dso__new(name);
-               if (dso != NULL) {
-                       dsos__add(dsos, dso);
-                       dso__set_basename(dso);
-               }
+       if (dso != NULL) {
+               dsos__add(dsos, dso);
+               dso__set_basename(dso);
        }
-
        return dso;
 }
 
+struct dso *__dsos__findnew(struct dsos *dsos, const char *name)
+{
+       struct dso *dso = dsos__find(dsos, name, false);
+
+       return dso ? dso : dsos__addnew(dsos, name);
+}
+
 size_t __dsos__fprintf_buildid(struct list_head *head, FILE *fp,
                               bool (skip)(struct dso *dso, int parm), int parm)
 {
 
                                const char *short_name, int dso_type);
 
 void dsos__add(struct dsos *dsos, struct dso *dso);
+struct dso *dsos__addnew(struct dsos *dsos, const char *name);
 struct dso *dsos__find(const struct dsos *dsos, const char *name,
                       bool cmp_short);
 struct dso *__dsos__findnew(struct dsos *dsos, const char *name);