From: Greg Kroah-Hartman Date: Mon, 17 Dec 2007 19:54:39 +0000 (-0400) Subject: Kobject: change arch/sh/kernel/cpu/sh4/sq.c to use kobject_init_and_add X-Git-Tag: v2.6.25-rc1~1243^2~75 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=d48b335256cd75fcb1a4abb3ce8136d8d9c931cc;p=linux-2.6-omap-h63xx.git Kobject: change arch/sh/kernel/cpu/sh4/sq.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: Kay Sievers Signed-off-by: Greg Kroah-Hartman --- diff --git a/arch/sh/kernel/cpu/sh4/sq.c b/arch/sh/kernel/cpu/sh4/sq.c index b22a78c807e..97fd9b9a482 100644 --- a/arch/sh/kernel/cpu/sh4/sq.c +++ b/arch/sh/kernel/cpu/sh4/sq.c @@ -341,17 +341,18 @@ static int __devinit sq_sysdev_add(struct sys_device *sysdev) { unsigned int cpu = sysdev->id; struct kobject *kobj; + int error; sq_kobject[cpu] = kzalloc(sizeof(struct kobject), GFP_KERNEL); if (unlikely(!sq_kobject[cpu])) return -ENOMEM; kobj = sq_kobject[cpu]; - kobj->parent = &sysdev->kobj; - kobject_set_name(kobj, "%s", "sq"); - kobj->ktype = &ktype_percpu_entry; - - return kobject_register(kobj); + error = kobject_init_and_add(kobj, &ktype_percpu_entry, &sysdev->kobj, + "%s", "sq"); + if (!error) + kobject_uevent(kobj, KOBJ_ADD); + return error; } static int __devexit sq_sysdev_remove(struct sys_device *sysdev)