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 ofunregistered devices. Otherwise it sounds confusing. > +       if (dev->init_name)> +               return dev->init_name;> +>        return kobject_name(&dev->kobj);>  } Thanks,Kay{.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I