diff --git a/arch/powerpc/platforms/powernv/opal-dump.c b/arch/powerpc/platforms/powernv/opal-dump.c index 0c767c561dc9..b9827b0d87e4 100644 --- a/arch/powerpc/platforms/powernv/opal-dump.c +++ b/arch/powerpc/platforms/powernv/opal-dump.c @@ -86,19 +86,14 @@ static int64_t dump_send_ack(uint32_t dump_id) return rc; } -static void delay_release_kobj(void *kobj) -{ - kobject_put((struct kobject *)kobj); -} - static ssize_t dump_ack_store(struct dump_obj *dump_obj, struct dump_attribute *attr, const char *buf, size_t count) { dump_send_ack(dump_obj->id); - sysfs_schedule_callback(&dump_obj->kobj, delay_release_kobj, - &dump_obj->kobj, THIS_MODULE); + sysfs_remove_file_self(&dump_obj->kobj, &attr->attr); + kobject_put(&dump_obj->kobj); return count; } diff --git a/arch/powerpc/platforms/powernv/opal-elog.c b/arch/powerpc/platforms/powernv/opal-elog.c index 1d7355bc9db0..ef7bc2a97862 100644 --- a/arch/powerpc/platforms/powernv/opal-elog.c +++ b/arch/powerpc/platforms/powernv/opal-elog.c @@ -70,19 +70,14 @@ static ssize_t elog_ack_show(struct elog_obj *elog_obj, return sprintf(buf, "ack - acknowledge log message\n"); } -static void delay_release_kobj(void *kobj) -{ - kobject_put((struct kobject *)kobj); -} - static ssize_t elog_ack_store(struct elog_obj *elog_obj, struct elog_attribute *attr, const char *buf, size_t count) { opal_send_ack_elog(elog_obj->id); - sysfs_schedule_callback(&elog_obj->kobj, delay_release_kobj, - &elog_obj->kobj, THIS_MODULE); + sysfs_remove_file_self(&elog_obj->kobj, &attr->attr); + kobject_put(&elog_obj->kobj); return count; }