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()
372 struct subsys_private *sp = bus_to_subsys(bus); in bus_for_each_dev() local
377 if (!sp) in bus_for_each_dev()
380 klist_iter_init_node(&sp->klist_devices, &i, in bus_for_each_dev()
385 subsys_put(sp); in bus_for_each_dev()
409 struct subsys_private *sp = bus_to_subsys(bus); in bus_find_device() local
413 if (!sp) in bus_find_device()
416 klist_iter_init_node(&sp->klist_devices, &i, in bus_find_device()
425 subsys_put(sp); in bus_find_device()
434 struct subsys_private *sp = bus_to_subsys(bus); in bus_find_device_reverse() local
438 if (!sp) in bus_find_device_reverse()
441 klist_iter_init_node(&sp->klist_devices, &i, in bus_find_device_reverse()
450 subsys_put(sp); in bus_find_device_reverse()
489 struct subsys_private *sp = bus_to_subsys(bus); in bus_for_each_drv() local
494 if (!sp) in bus_for_each_drv()
497 klist_iter_init_node(&sp->klist_drivers, &i, in bus_for_each_drv()
502 subsys_put(sp); in bus_for_each_drv()
517 struct subsys_private *sp = bus_to_subsys(dev->bus); in bus_add_device() local
520 if (!sp) { in bus_add_device()
534 pr_debug("bus: '%s': add device %s\n", sp->bus->name, dev_name(dev)); in bus_add_device()
536 error = device_add_groups(dev, sp->bus->dev_groups); in bus_add_device()
540 error = sysfs_create_link(&sp->devices_kset->kobj, &dev->kobj, dev_name(dev)); in bus_add_device()
544 error = sysfs_create_link(&dev->kobj, &sp->subsys.kobj, "subsystem"); in bus_add_device()
548 klist_add_tail(&dev->p->knode_bus, &sp->klist_devices); in bus_add_device()
552 sysfs_remove_link(&sp->devices_kset->kobj, dev_name(dev)); in bus_add_device()
554 device_remove_groups(dev, sp->bus->dev_groups); in bus_add_device()
556 subsys_put(sp); in bus_add_device()
568 struct subsys_private *sp = bus_to_subsys(dev->bus); in bus_probe_device() local
571 if (!sp) in bus_probe_device()
576 mutex_lock(&sp->mutex); in bus_probe_device()
577 list_for_each_entry(sif, &sp->interfaces, node) in bus_probe_device()
580 mutex_unlock(&sp->mutex); in bus_probe_device()
581 subsys_put(sp); in bus_probe_device()
596 struct subsys_private *sp = bus_to_subsys(dev->bus); in bus_remove_device() local
599 if (!sp) in bus_remove_device()
602 mutex_lock(&sp->mutex); in bus_remove_device()
603 list_for_each_entry(sif, &sp->interfaces, node) in bus_remove_device()
606 mutex_unlock(&sp->mutex); in bus_remove_device()
609 sysfs_remove_link(&sp->devices_kset->kobj, dev_name(dev)); in bus_remove_device()
623 subsys_put(sp); in bus_remove_device()
624 subsys_put(sp); in bus_remove_device()
686 struct subsys_private *sp = bus_to_subsys(drv->bus); in bus_add_driver() local
690 if (!sp) in bus_add_driver()
697 pr_debug("bus: '%s': add driver %s\n", sp->bus->name, drv->name); in bus_add_driver()
707 priv->kobj.kset = sp->drivers_kset; in bus_add_driver()
713 klist_add_tail(&priv->knode_bus, &sp->klist_drivers); in bus_add_driver()
714 if (sp->drivers_autoprobe) { in bus_add_driver()
731 error = driver_add_groups(drv, sp->bus->drv_groups); in bus_add_driver()
758 subsys_put(sp); in bus_add_driver()
772 struct subsys_private *sp = bus_to_subsys(drv->bus); in bus_remove_driver() local
774 if (!sp) in bus_remove_driver()
777 pr_debug("bus: '%s': remove driver %s\n", sp->bus->name, drv->name); in bus_remove_driver()
781 driver_remove_groups(drv, sp->bus->drv_groups); in bus_remove_driver()
793 subsys_put(sp); in bus_remove_driver()
794 subsys_put(sp); in bus_remove_driver()
863 struct subsys_private *sp = bus_to_subsys(bus); in bus_uevent_store() local
866 if (!sp) in bus_uevent_store()
869 ret = kobject_synth_uevent(&sp->subsys.kobj, buf, count); in bus_uevent_store()
870 subsys_put(sp); in bus_uevent_store()
982 struct subsys_private *sp = bus_to_subsys(bus); in bus_unregister() local
985 if (!sp) in bus_unregister()
989 if (sp->dev_root) in bus_unregister()
990 device_unregister(sp->dev_root); in bus_unregister()
992 bus_kobj = &sp->subsys.kobj; in bus_unregister()
997 kset_unregister(sp->drivers_kset); in bus_unregister()
998 kset_unregister(sp->devices_kset); in bus_unregister()
999 kset_unregister(&sp->subsys); in bus_unregister()
1000 subsys_put(sp); in bus_unregister()
1006 struct subsys_private *sp = bus_to_subsys(bus); in bus_register_notifier() local
1009 if (!sp) in bus_register_notifier()
1012 retval = blocking_notifier_chain_register(&sp->bus_notifier, nb); in bus_register_notifier()
1013 subsys_put(sp); in bus_register_notifier()
1020 struct subsys_private *sp = bus_to_subsys(bus); in bus_unregister_notifier() local
1023 if (!sp) in bus_unregister_notifier()
1025 retval = blocking_notifier_chain_unregister(&sp->bus_notifier, nb); in bus_unregister_notifier()
1026 subsys_put(sp); in bus_unregister_notifier()
1033 struct subsys_private *sp = bus_to_subsys(dev->bus); in bus_notify() local
1035 if (!sp) in bus_notify()
1038 blocking_notifier_call_chain(&sp->bus_notifier, value, dev); in bus_notify()
1039 subsys_put(sp); in bus_notify()
1044 struct subsys_private *sp = bus_to_subsys(bus); in bus_get_kset() local
1047 if (!sp) in bus_get_kset()
1050 kset = &sp->subsys; in bus_get_kset()
1051 subsys_put(sp); in bus_get_kset()
1088 struct subsys_private *sp = bus_to_subsys(bus); in bus_sort_breadthfirst() local
1095 if (!sp) in bus_sort_breadthfirst()
1097 device_klist = &sp->klist_devices; in bus_sort_breadthfirst()
1107 subsys_put(sp); in bus_sort_breadthfirst()
1128 static void subsys_dev_iter_init(struct subsys_dev_iter *iter, struct subsys_private *sp, in subsys_dev_iter_init() argument
1135 klist_iter_init_node(&sp->klist_devices, &iter->ki, start_knode); in subsys_dev_iter_init()
1180 struct subsys_private *sp; in subsys_interface_register() local
1187 sp = bus_to_subsys(sif->subsys); in subsys_interface_register()
1188 if (!sp) in subsys_interface_register()
1196 mutex_lock(&sp->mutex); in subsys_interface_register()
1197 list_add_tail(&sif->node, &sp->interfaces); in subsys_interface_register()
1199 subsys_dev_iter_init(&iter, sp, NULL, NULL); in subsys_interface_register()
1204 mutex_unlock(&sp->mutex); in subsys_interface_register()
1212 struct subsys_private *sp; in subsys_interface_unregister() local
1219 sp = bus_to_subsys(sif->subsys); in subsys_interface_unregister()
1220 if (!sp) in subsys_interface_unregister()
1223 mutex_lock(&sp->mutex); in subsys_interface_unregister()
1226 subsys_dev_iter_init(&iter, sp, NULL, NULL); in subsys_interface_unregister()
1231 mutex_unlock(&sp->mutex); in subsys_interface_unregister()
1238 subsys_put(sp); in subsys_interface_unregister()
1239 subsys_put(sp); in subsys_interface_unregister()
1252 struct subsys_private *sp; in subsys_register() local
1260 sp = bus_to_subsys(subsys); in subsys_register()
1261 if (!sp) { in subsys_register()
1284 sp->dev_root = dev; in subsys_register()
1285 subsys_put(sp); in subsys_register()
1294 subsys_put(sp); in subsys_register()
1363 struct subsys_private *sp = bus_to_subsys(bus); in driver_find() local
1367 if (!sp) in driver_find()
1370 k = kset_find_obj(sp->drivers_kset, name); in driver_find()
1371 subsys_put(sp); in driver_find()
1389 struct subsys_private *sp = bus_to_subsys(bus); in bus_is_registered() local
1392 if (sp) { in bus_is_registered()
1394 subsys_put(sp); in bus_is_registered()
1413 struct subsys_private *sp = bus_to_subsys(bus); in bus_get_dev_root() local
1416 if (!sp) in bus_get_dev_root()
1419 dev_root = get_device(sp->dev_root); in bus_get_dev_root()
1420 subsys_put(sp); in bus_get_dev_root()