Lines Matching refs:sp
62 struct subsys_private *sp = NULL; in bus_to_subsys() local
76 sp = container_of_const(kset, struct subsys_private, subsys); in bus_to_subsys()
77 if (sp->bus == bus) in bus_to_subsys()
80 sp = NULL; in bus_to_subsys()
82 sp = subsys_get(sp); in bus_to_subsys()
84 return sp; in bus_to_subsys()
89 struct subsys_private *sp = bus_to_subsys(bus); in bus_get() local
91 if (sp) in bus_get()
98 struct subsys_private *sp = bus_to_subsys(bus); in bus_put() local
101 subsys_put(sp); in bus_put()
102 subsys_put(sp); in bus_put()
183 struct subsys_private *sp = bus_to_subsys(bus); in bus_create_file() local
186 if (!sp) in bus_create_file()
189 error = sysfs_create_file(&sp->subsys.kobj, &attr->attr); in bus_create_file()
191 subsys_put(sp); in bus_create_file()
198 struct subsys_private *sp = bus_to_subsys(bus); in bus_remove_file() local
200 if (!sp) in bus_remove_file()
203 sysfs_remove_file(&sp->subsys.kobj, &attr->attr); in bus_remove_file()
204 subsys_put(sp); in bus_remove_file()
281 struct subsys_private *sp = bus_to_subsys(bus); in drivers_autoprobe_show() local
284 if (!sp) in drivers_autoprobe_show()
287 ret = sysfs_emit(buf, "%d\n", sp->drivers_autoprobe); in drivers_autoprobe_show()
288 subsys_put(sp); in drivers_autoprobe_show()
295 struct subsys_private *sp = bus_to_subsys(bus); in drivers_autoprobe_store() local
297 if (!sp) in drivers_autoprobe_store()
301 sp->drivers_autoprobe = 0; in drivers_autoprobe_store()
303 sp->drivers_autoprobe = 1; in drivers_autoprobe_store()
305 subsys_put(sp); in drivers_autoprobe_store()
359 struct subsys_private *sp = bus_to_subsys(bus); in bus_for_each_dev() local
364 if (!sp) in bus_for_each_dev()
367 klist_iter_init_node(&sp->klist_devices, &i, in bus_for_each_dev()
372 subsys_put(sp); in bus_for_each_dev()
396 struct subsys_private *sp = bus_to_subsys(bus); in bus_find_device() local
400 if (!sp) in bus_find_device()
403 klist_iter_init_node(&sp->klist_devices, &i, in bus_find_device()
412 subsys_put(sp); in bus_find_device()
451 struct subsys_private *sp = bus_to_subsys(bus); in bus_for_each_drv() local
456 if (!sp) in bus_for_each_drv()
459 klist_iter_init_node(&sp->klist_drivers, &i, in bus_for_each_drv()
464 subsys_put(sp); in bus_for_each_drv()
479 struct subsys_private *sp = bus_to_subsys(dev->bus); in bus_add_device() local
482 if (!sp) { in bus_add_device()
496 pr_debug("bus: '%s': add device %s\n", sp->bus->name, dev_name(dev)); in bus_add_device()
498 error = device_add_groups(dev, sp->bus->dev_groups); in bus_add_device()
502 error = sysfs_create_link(&sp->devices_kset->kobj, &dev->kobj, dev_name(dev)); in bus_add_device()
506 error = sysfs_create_link(&dev->kobj, &sp->subsys.kobj, "subsystem"); in bus_add_device()
510 klist_add_tail(&dev->p->knode_bus, &sp->klist_devices); in bus_add_device()
514 sysfs_remove_link(&sp->devices_kset->kobj, dev_name(dev)); in bus_add_device()
516 device_remove_groups(dev, sp->bus->dev_groups); in bus_add_device()
518 subsys_put(sp); in bus_add_device()
530 struct subsys_private *sp = bus_to_subsys(dev->bus); in bus_probe_device() local
533 if (!sp) in bus_probe_device()
536 if (sp->drivers_autoprobe) in bus_probe_device()
539 mutex_lock(&sp->mutex); in bus_probe_device()
540 list_for_each_entry(sif, &sp->interfaces, node) in bus_probe_device()
543 mutex_unlock(&sp->mutex); in bus_probe_device()
544 subsys_put(sp); in bus_probe_device()
559 struct subsys_private *sp = bus_to_subsys(dev->bus); in bus_remove_device() local
562 if (!sp) in bus_remove_device()
565 mutex_lock(&sp->mutex); in bus_remove_device()
566 list_for_each_entry(sif, &sp->interfaces, node) in bus_remove_device()
569 mutex_unlock(&sp->mutex); in bus_remove_device()
572 sysfs_remove_link(&sp->devices_kset->kobj, dev_name(dev)); in bus_remove_device()
586 subsys_put(sp); in bus_remove_device()
587 subsys_put(sp); in bus_remove_device()
649 struct subsys_private *sp = bus_to_subsys(drv->bus); in bus_add_driver() local
653 if (!sp) in bus_add_driver()
660 pr_debug("bus: '%s': add driver %s\n", sp->bus->name, drv->name); in bus_add_driver()
670 priv->kobj.kset = sp->drivers_kset; in bus_add_driver()
676 klist_add_tail(&priv->knode_bus, &sp->klist_drivers); in bus_add_driver()
677 if (sp->drivers_autoprobe) { in bus_add_driver()
694 error = driver_add_groups(drv, sp->bus->drv_groups); in bus_add_driver()
721 subsys_put(sp); in bus_add_driver()
735 struct subsys_private *sp = bus_to_subsys(drv->bus); in bus_remove_driver() local
737 if (!sp) in bus_remove_driver()
740 pr_debug("bus: '%s': remove driver %s\n", sp->bus->name, drv->name); in bus_remove_driver()
744 driver_remove_groups(drv, sp->bus->drv_groups); in bus_remove_driver()
756 subsys_put(sp); in bus_remove_driver()
757 subsys_put(sp); in bus_remove_driver()
826 struct subsys_private *sp = bus_to_subsys(bus); in bus_uevent_store() local
829 if (!sp) in bus_uevent_store()
832 ret = kobject_synth_uevent(&sp->subsys.kobj, buf, count); in bus_uevent_store()
833 subsys_put(sp); in bus_uevent_store()
945 struct subsys_private *sp = bus_to_subsys(bus); in bus_unregister() local
948 if (!sp) in bus_unregister()
952 if (sp->dev_root) in bus_unregister()
953 device_unregister(sp->dev_root); in bus_unregister()
955 bus_kobj = &sp->subsys.kobj; in bus_unregister()
960 kset_unregister(sp->drivers_kset); in bus_unregister()
961 kset_unregister(sp->devices_kset); in bus_unregister()
962 kset_unregister(&sp->subsys); in bus_unregister()
963 subsys_put(sp); in bus_unregister()
969 struct subsys_private *sp = bus_to_subsys(bus); in bus_register_notifier() local
972 if (!sp) in bus_register_notifier()
975 retval = blocking_notifier_chain_register(&sp->bus_notifier, nb); in bus_register_notifier()
976 subsys_put(sp); in bus_register_notifier()
983 struct subsys_private *sp = bus_to_subsys(bus); in bus_unregister_notifier() local
986 if (!sp) in bus_unregister_notifier()
988 retval = blocking_notifier_chain_unregister(&sp->bus_notifier, nb); in bus_unregister_notifier()
989 subsys_put(sp); in bus_unregister_notifier()
996 struct subsys_private *sp = bus_to_subsys(dev->bus); in bus_notify() local
998 if (!sp) in bus_notify()
1001 blocking_notifier_call_chain(&sp->bus_notifier, value, dev); in bus_notify()
1002 subsys_put(sp); in bus_notify()
1007 struct subsys_private *sp = bus_to_subsys(bus); in bus_get_kset() local
1010 if (!sp) in bus_get_kset()
1013 kset = &sp->subsys; in bus_get_kset()
1014 subsys_put(sp); in bus_get_kset()
1051 struct subsys_private *sp = bus_to_subsys(bus); in bus_sort_breadthfirst() local
1058 if (!sp) in bus_sort_breadthfirst()
1060 device_klist = &sp->klist_devices; in bus_sort_breadthfirst()
1070 subsys_put(sp); in bus_sort_breadthfirst()
1091 static void subsys_dev_iter_init(struct subsys_dev_iter *iter, struct subsys_private *sp, in subsys_dev_iter_init() argument
1098 klist_iter_init_node(&sp->klist_devices, &iter->ki, start_knode); in subsys_dev_iter_init()
1143 struct subsys_private *sp; in subsys_interface_register() local
1150 sp = bus_to_subsys(sif->subsys); in subsys_interface_register()
1151 if (!sp) in subsys_interface_register()
1159 mutex_lock(&sp->mutex); in subsys_interface_register()
1160 list_add_tail(&sif->node, &sp->interfaces); in subsys_interface_register()
1162 subsys_dev_iter_init(&iter, sp, NULL, NULL); in subsys_interface_register()
1167 mutex_unlock(&sp->mutex); in subsys_interface_register()
1175 struct subsys_private *sp; in subsys_interface_unregister() local
1182 sp = bus_to_subsys(sif->subsys); in subsys_interface_unregister()
1183 if (!sp) in subsys_interface_unregister()
1186 mutex_lock(&sp->mutex); in subsys_interface_unregister()
1189 subsys_dev_iter_init(&iter, sp, NULL, NULL); in subsys_interface_unregister()
1194 mutex_unlock(&sp->mutex); in subsys_interface_unregister()
1201 subsys_put(sp); in subsys_interface_unregister()
1202 subsys_put(sp); in subsys_interface_unregister()
1215 struct subsys_private *sp; in subsys_register() local
1223 sp = bus_to_subsys(subsys); in subsys_register()
1224 if (!sp) { in subsys_register()
1247 sp->dev_root = dev; in subsys_register()
1248 subsys_put(sp); in subsys_register()
1257 subsys_put(sp); in subsys_register()
1326 struct subsys_private *sp = bus_to_subsys(bus); in driver_find() local
1330 if (!sp) in driver_find()
1333 k = kset_find_obj(sp->drivers_kset, name); in driver_find()
1334 subsys_put(sp); in driver_find()
1352 struct subsys_private *sp = bus_to_subsys(bus); in bus_is_registered() local
1355 if (sp) { in bus_is_registered()
1357 subsys_put(sp); in bus_is_registered()
1376 struct subsys_private *sp = bus_to_subsys(bus); in bus_get_dev_root() local
1379 if (!sp) in bus_get_dev_root()
1382 dev_root = get_device(sp->dev_root); in bus_get_dev_root()
1383 subsys_put(sp); in bus_get_dev_root()