Lines Matching refs:parent
178 struct device *parent = dev->parent; in dev_uevent() local
181 while (parent && !parent->bus) in dev_uevent()
182 parent = parent->parent; in dev_uevent()
183 if (parent && parent->bus) { in dev_uevent()
186 path = kobject_get_path(&parent->kobj, GFP_KERNEL); in dev_uevent()
192 add_uevent_var(env, "PHYSDEVBUS=%s", parent->bus->name); in dev_uevent()
194 if (parent->driver) in dev_uevent()
196 parent->driver->name); in dev_uevent()
254 while (!top_kobj->kset && top_kobj->parent) in show_uevent()
255 top_kobj = top_kobj->parent; in show_uevent()
554 struct device *parent) in get_device_parent() argument
557 if (dev->class && (!parent || parent->class != dev->class)) in get_device_parent()
560 else if (parent) in get_device_parent()
561 return &parent->kobj; in get_device_parent()
582 struct device *parent) in get_device_parent() argument
596 if (parent == NULL) in get_device_parent()
598 else if (parent->class) in get_device_parent()
599 return &parent->kobj; in get_device_parent()
601 parent_kobj = &parent->kobj; in get_device_parent()
606 if (k->parent == parent_kobj) { in get_device_parent()
628 if (parent) in get_device_parent()
629 return &parent->kobj; in get_device_parent()
645 cleanup_glue_dir(dev, dev->kobj.parent); in cleanup_device_parent()
649 static void setup_parent(struct device *dev, struct device *parent) in setup_parent() argument
652 kobj = get_device_parent(dev, parent); in setup_parent()
654 dev->kobj.parent = kobj; in setup_parent()
672 if (dev->kobj.parent != &dev->class->p->class_subsys.kobj && in device_add_class_symlinks()
680 if (dev->parent && device_is_not_partition(dev)) { in device_add_class_symlinks()
681 struct device *parent = dev->parent; in device_add_class_symlinks() local
688 while (parent->class && !parent->bus && parent->parent) in device_add_class_symlinks()
689 parent = parent->parent; in device_add_class_symlinks()
692 &parent->kobj, in device_add_class_symlinks()
700 error = sysfs_create_link(&dev->parent->kobj, in device_add_class_symlinks()
709 if (dev->parent && device_is_not_partition(dev)) in device_add_class_symlinks()
712 if (dev->kobj.parent != &dev->class->p->class_subsys.kobj && in device_add_class_symlinks()
723 if (dev->parent && device_is_not_partition(dev)) { in device_add_class_symlinks()
724 error = sysfs_create_link(&dev->kobj, &dev->parent->kobj, in device_add_class_symlinks()
747 if (dev->parent && device_is_not_partition(dev)) { in device_remove_class_symlinks()
752 sysfs_remove_link(&dev->parent->kobj, class_name); in device_remove_class_symlinks()
758 if (dev->kobj.parent != &dev->class->p->class_subsys.kobj && in device_remove_class_symlinks()
763 if (dev->parent && device_is_not_partition(dev)) in device_remove_class_symlinks()
859 struct device *parent = NULL; in device_add() local
877 parent = get_device(dev->parent); in device_add()
878 setup_parent(dev, parent); in device_add()
881 if (parent) in device_add()
882 set_dev_node(dev, dev_to_node(parent)); in device_add()
885 error = kobject_add(&dev->kobj, dev->kobj.parent, "%s", dev_name(dev)); in device_add()
930 if (parent) in device_add()
931 klist_add_tail(&dev->knode_parent, &parent->klist_children); in device_add()
968 if (parent) in device_add()
969 put_device(parent); in device_add()
1033 struct device *parent = dev->parent; in device_del() local
1044 if (parent) in device_del()
1082 put_device(parent); in device_del()
1121 int device_for_each_child(struct device *parent, void *data, in device_for_each_child() argument
1128 klist_iter_init(&parent->klist_children, &i); in device_for_each_child()
1150 struct device *device_find_child(struct device *parent, void *data, in device_find_child() argument
1156 if (!parent) in device_find_child()
1159 klist_iter_init(&parent->klist_children, &i); in device_find_child()
1329 struct device *device_create_vargs(struct class *class, struct device *parent, in device_create_vargs() argument
1347 dev->parent = parent; in device_create_vargs()
1386 struct device *device_create(struct class *class, struct device *parent, in device_create() argument
1393 dev = device_create_vargs(class, parent, devt, drvdata, fmt, vargs); in device_create()
1451 if ((dev->class) && (dev->parent)) in device_rename()
1473 error = sysfs_create_link_nowarn(&dev->parent->kobj, in device_rename()
1478 sysfs_remove_link(&dev->parent->kobj, old_class_name); in device_rename()
1570 old_parent = dev->parent; in device_move()
1571 dev->parent = new_parent; in device_move()
1588 dev->parent = old_parent; in device_move()