On Tue, Mar 9, 2010 at 07:57, Paul Mundt wrote: > This implements early init_name construction from the matched name/id > pair following the semantics of the late device/driver match. As a > result, matched IDs (inclusive of requested ones) are preserved when the > handoff from the early platform code happens at kobject initialization > time. > +                       if (!match->dev.init_name) { > +                               char buf[32]; > + > +                               if (match->id != -1) > +                                       snprintf(buf, sizeof(buf), "%s.%d", > +                                                match->name, match->id); > +                               else > +                                       snprintf(buf, sizeof(buf), "%s", > +                                                match->name); > + > +                               match->dev.init_name = kstrdup(buf, GFP_KERNEL); > +                               if (!match->dev.init_name) > +                                       return -ENOMEM; > +                       } This can be kasprintf() I guess. >  static inline const char *dev_name(const struct device *dev) >  { > +       /* Use the init name until the kobject becomes available */ This should probably state that it's used for getting names out of unregistered devices. Otherwise it sounds confusing. > +       if (dev->init_name) > +               return dev->init_name; > + >        return kobject_name(&dev->kobj); >  } Thanks, Kay {.n++%ݶw{.n+{{ayʇڙ,jfhz_(階ݢj"mG?&~