Lines Matching full:subsys
45 kset_get(&bus->p->subsys); in bus_get()
54 kset_put(&bus->p->subsys); in bus_put()
135 error = sysfs_create_file(&bus->p->subsys.kobj, &attr->attr); in bus_create_file()
146 sysfs_remove_file(&bus->p->subsys.kobj, &attr->attr); in bus_remove_file()
348 * @subsys: subsystem
356 struct device *subsys_find_device_by_id(struct bus_type *subsys, unsigned int id, in subsys_find_device_by_id() argument
362 if (!subsys) in subsys_find_device_by_id()
366 klist_iter_init_node(&subsys->p->klist_devices, &i, &hint->p->knode_bus); in subsys_find_device_by_id()
375 klist_iter_init_node(&subsys->p->klist_devices, &i, NULL); in subsys_find_device_by_id()
460 &dev->bus->p->subsys.kobj, "subsystem"); in bus_add_device()
754 return sysfs_create_groups(&bus->p->subsys.kobj, groups); in bus_add_groups()
760 sysfs_remove_groups(&bus->p->subsys.kobj, groups); in bus_remove_groups()
784 rc = kobject_synth_uevent(&bus->p->subsys.kobj, buf, count); in bus_uevent_store()
819 retval = kobject_set_name(&priv->subsys.kobj, "%s", bus->name); in bus_register()
823 priv->subsys.kobj.kset = bus_kset; in bus_register()
824 priv->subsys.kobj.ktype = &bus_ktype; in bus_register()
827 retval = kset_register(&priv->subsys); in bus_register()
836 &priv->subsys.kobj); in bus_register()
843 &priv->subsys.kobj); in bus_register()
850 __mutex_init(&priv->mutex, "subsys mutex", key); in bus_register()
874 kset_unregister(&bus->p->subsys); in bus_register()
899 kset_unregister(&bus->p->subsys); in bus_unregister()
917 return &bus->p->subsys; in bus_get_kset()
978 * subsys_dev_iter_init - initialize subsys device iterator
979 * @iter: subsys iterator to initialize
980 * @subsys: the subsys we wanna iterate over
984 * Initialize subsys iterator @iter such that it iterates over devices
985 * of @subsys. If @start is set, the list iteration will start there,
989 void subsys_dev_iter_init(struct subsys_dev_iter *iter, struct bus_type *subsys, in subsys_dev_iter_init() argument
996 klist_iter_init_node(&subsys->p->klist_devices, &iter->ki, start_knode); in subsys_dev_iter_init()
1003 * @iter: subsys iterator to proceed
1011 * calling back into subsys code.
1031 * @iter: subsys iterator to finish
1044 struct bus_type *subsys; in subsys_interface_register() local
1048 if (!sif || !sif->subsys) in subsys_interface_register()
1051 subsys = bus_get(sif->subsys); in subsys_interface_register()
1052 if (!subsys) in subsys_interface_register()
1055 mutex_lock(&subsys->p->mutex); in subsys_interface_register()
1056 list_add_tail(&sif->node, &subsys->p->interfaces); in subsys_interface_register()
1058 subsys_dev_iter_init(&iter, subsys, NULL, NULL); in subsys_interface_register()
1063 mutex_unlock(&subsys->p->mutex); in subsys_interface_register()
1071 struct bus_type *subsys; in subsys_interface_unregister() local
1075 if (!sif || !sif->subsys) in subsys_interface_unregister()
1078 subsys = sif->subsys; in subsys_interface_unregister()
1080 mutex_lock(&subsys->p->mutex); in subsys_interface_unregister()
1083 subsys_dev_iter_init(&iter, subsys, NULL, NULL); in subsys_interface_unregister()
1088 mutex_unlock(&subsys->p->mutex); in subsys_interface_unregister()
1090 bus_put(subsys); in subsys_interface_unregister()
1099 static int subsys_register(struct bus_type *subsys, in subsys_register() argument
1106 err = bus_register(subsys); in subsys_register()
1116 err = dev_set_name(dev, "%s", subsys->name); in subsys_register()
1128 subsys->dev_root = dev; in subsys_register()
1137 bus_unregister(subsys); in subsys_register()
1143 * @subsys: system subsystem
1159 int subsys_system_register(struct bus_type *subsys, in subsys_system_register() argument
1162 return subsys_register(subsys, groups, &system_kset->kobj); in subsys_system_register()
1168 * @subsys: virtual subsystem
1177 int subsys_virtual_register(struct bus_type *subsys, in subsys_virtual_register() argument
1186 return subsys_register(subsys, groups, virtual_dir); in subsys_virtual_register()