소스 검색

Kobject: change drivers/parisc/pdc_stable.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: Kyle McMartin <kyle@parisc-linux.org>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Grant Grundler <grundler@parisc-linux.org>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Greg Kroah-Hartman 17 년 전
부모
커밋
73f368cf67
1개의 변경된 파일5개의 추가작업 그리고 5개의 파일을 삭제
  1. 5 5
      drivers/parisc/pdc_stable.c

+ 5 - 5
drivers/parisc/pdc_stable.c

@@ -991,13 +991,12 @@ pdcs_register_pathentries(void)
 		if (err < 0)
 		if (err < 0)
 			continue;
 			continue;
 
 
-		if ((err = kobject_set_name(&entry->kobj, "%s", entry->name)))
-			return err;
 		entry->kobj.kset = paths_kset;
 		entry->kobj.kset = paths_kset;
-		entry->kobj.ktype = &ktype_pdcspath;
-		if ((err = kobject_register(&entry->kobj)))
+		err = kobject_init_and_add(&entry->kobj, &ktype_pdcspath, NULL,
+					   "%s", entry->name);
+		if (err)
 			return err;
 			return err;
-		
+
 		/* kobject is now registered */
 		/* kobject is now registered */
 		write_lock(&entry->rw_lock);
 		write_lock(&entry->rw_lock);
 		entry->ready = 2;
 		entry->ready = 2;
@@ -1009,6 +1008,7 @@ pdcs_register_pathentries(void)
 		}
 		}
 
 
 		write_unlock(&entry->rw_lock);
 		write_unlock(&entry->rw_lock);
+		kobject_uevent(&entry->kobj, KOBJ_ADD);
 	}
 	}
 	
 	
 	return 0;
 	return 0;