Lines Matching refs:subsys
45 kset_get(&bus->p->subsys);
54 kset_put(&bus->p->subsys);
135 error = sysfs_create_file(&bus->p->subsys.kobj, &attr->attr);
146 sysfs_remove_file(&bus->p->subsys.kobj, &attr->attr);
348 * @subsys: subsystem
356 struct device *subsys_find_device_by_id(struct bus_type *subsys, unsigned int id,
362 if (!subsys)
366 klist_iter_init_node(&subsys->p->klist_devices, &i, &hint->p->knode_bus);
375 klist_iter_init_node(&subsys->p->klist_devices, &i, NULL);
460 &dev->bus->p->subsys.kobj, "subsystem");
754 return sysfs_create_groups(&bus->p->subsys.kobj, groups);
760 sysfs_remove_groups(&bus->p->subsys.kobj, groups);
784 rc = kobject_synth_uevent(&bus->p->subsys.kobj, buf, count);
819 retval = kobject_set_name(&priv->subsys.kobj, "%s", bus->name);
823 priv->subsys.kobj.kset = bus_kset;
824 priv->subsys.kobj.ktype = &bus_ktype;
827 retval = kset_register(&priv->subsys);
836 &priv->subsys.kobj);
843 &priv->subsys.kobj);
850 __mutex_init(&priv->mutex, "subsys mutex", key);
874 kset_unregister(&bus->p->subsys);
899 kset_unregister(&bus->p->subsys);
917 return &bus->p->subsys;
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,
996 klist_iter_init_node(&subsys->p->klist_devices, &iter->ki, start_knode);
1003 * @iter: subsys iterator to proceed
1011 * calling back into subsys code.
1031 * @iter: subsys iterator to finish
1044 struct bus_type *subsys;
1048 if (!sif || !sif->subsys)
1051 subsys = bus_get(sif->subsys);
1052 if (!subsys)
1055 mutex_lock(&subsys->p->mutex);
1056 list_add_tail(&sif->node, &subsys->p->interfaces);
1058 subsys_dev_iter_init(&iter, subsys, NULL, NULL);
1063 mutex_unlock(&subsys->p->mutex);
1071 struct bus_type *subsys;
1075 if (!sif || !sif->subsys)
1078 subsys = sif->subsys;
1080 mutex_lock(&subsys->p->mutex);
1083 subsys_dev_iter_init(&iter, subsys, NULL, NULL);
1088 mutex_unlock(&subsys->p->mutex);
1090 bus_put(subsys);
1099 static int subsys_register(struct bus_type *subsys,
1106 err = bus_register(subsys);
1116 err = dev_set_name(dev, "%s", subsys->name);
1128 subsys->dev_root = dev;
1137 bus_unregister(subsys);
1143 * @subsys: system subsystem
1159 int subsys_system_register(struct bus_type *subsys,
1162 return subsys_register(subsys, groups, &system_kset->kobj);
1168 * @subsys: virtual subsystem
1177 int subsys_virtual_register(struct bus_type *subsys,
1186 return subsys_register(subsys, groups, virtual_dir);