From: Greg Kroah-Hartman Date: Mon, 17 Dec 2007 19:54:39 +0000 (-0400) Subject: Kobject: change drivers/block/pktcdvd.c to use kobject_init_and_add X-Git-Tag: v2.6.25-rc1~1243^2~76 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=89c426066462263c90957c37af29765855516b83;p=linux-2.6-omap-h63xx.git Kobject: change drivers/block/pktcdvd.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Jens Axboe Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index 17da6999bef..d1ee38361e0 100644 --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c @@ -110,17 +110,18 @@ static struct pktcdvd_kobj* pkt_kobj_create(struct pktcdvd_device *pd, struct kobj_type* ktype) { struct pktcdvd_kobj *p; + int error; + p = kzalloc(sizeof(*p), GFP_KERNEL); if (!p) return NULL; - kobject_set_name(&p->kobj, "%s", name); - p->kobj.parent = parent; - p->kobj.ktype = ktype; p->pd = pd; - if (kobject_register(&p->kobj) != 0) { + error = kobject_init_and_add(&p->kobj, ktype, parent, "%s", name); + if (error) { kobject_put(&p->kobj); return NULL; } + kobject_uevent(&p->kobj, KOBJ_ADD); return p; } /*