On Sat, Sep 17, 2011 at 10:05:14AM -0600, Grant Likely wrote: > > +static struct omap_device *omap_device_alloc(struct platform_device *pdev, > > + struct omap_hwmod **ohs, int oh_cnt, > > + struct omap_device_pm_latency *pm_lats, > > + int pm_lats_cnt) > > +{ > > + int ret = -ENOMEM; > > + struct omap_device *od; > > + struct resource *res = NULL; > > + int i, res_count; > > + struct omap_hwmod **hwmods; > > + > > + od = kzalloc(sizeof(struct omap_device), GFP_KERNEL); > > possible enhancement: devm_kzalloc() perhaps? Would simplify the cleanup > paths. Are you sure about that - have you thought about the lifetime issues? devm_*() lifetime is supposed to be from driver binding to driver unbinding. The lifetime of 'omap_device' appears to be from device creation to device destruction, which is different from what devm_*() gives you. So, using devm_*() will result in the 'omap_device' being destroyed when a driver is unbound - and presumably an oops if its attempted to be re-bound later (because the 'omap_device' structure will have been freed.) -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html