Lines Matching refs:rcdev

27  * @rcdev: a pointer to the reset controller device
29 * @list: list entry for the rcdev's reset controller list
33 * @acquired: Only one reset_control may be acquired for a given rcdev and id.
42 struct reset_controller_dev *rcdev;
65 static const char *rcdev_name(struct reset_controller_dev *rcdev)
67 if (rcdev->dev)
68 return dev_name(rcdev->dev);
70 if (rcdev->of_node)
71 return rcdev->of_node->full_name;
78 * @rcdev: a pointer to the reset controller device
86 static int of_reset_simple_xlate(struct reset_controller_dev *rcdev,
89 if (reset_spec->args[0] >= rcdev->nr_resets)
97 * @rcdev: a pointer to the initialized reset controller device
99 int reset_controller_register(struct reset_controller_dev *rcdev)
101 if (!rcdev->of_xlate) {
102 rcdev->of_reset_n_cells = 1;
103 rcdev->of_xlate = of_reset_simple_xlate;
106 INIT_LIST_HEAD(&rcdev->reset_control_head);
109 list_add(&rcdev->list, &reset_controller_list);
118 * @rcdev: a pointer to the reset controller device
120 void reset_controller_unregister(struct reset_controller_dev *rcdev)
123 list_del(&rcdev->list);
136 * @rcdev: a pointer to the initialized reset controller device
143 struct reset_controller_dev *rcdev)
153 ret = reset_controller_register(rcdev);
159 *rcdevp = rcdev;
306 if (!rstc->rcdev->ops->reset)
320 ret = rstc->rcdev->ops->reset(rstc->rcdev, rstc->id);
369 if (!rstc->rcdev->ops->assert)
377 if (!rstc->rcdev->ops->assert)
382 rcdev_name(rstc->rcdev), rstc->id);
387 return rstc->rcdev->ops->assert(rstc->rcdev, rstc->id);
422 rcdev_name(rstc->rcdev), rstc->id);
434 if (!rstc->rcdev->ops->deassert)
437 return rstc->rcdev->ops->deassert(rstc->rcdev, rstc->id);
455 if (rstc->rcdev->ops->status)
456 return rstc->rcdev->ops->status(rstc->rcdev, rstc->id);
502 list_for_each_entry(rc, &rstc->rcdev->reset_control_head, list) {
541 struct reset_controller_dev *rcdev,
548 list_for_each_entry(rstc, &rcdev->reset_control_head, list) {
570 if (!try_module_get(rcdev->owner)) {
575 rstc->rcdev = rcdev;
576 list_add(&rstc->list, &rcdev->reset_control_head);
592 module_put(rstc->rcdev->owner);
613 struct reset_controller_dev *r, *rcdev;
638 rcdev = NULL;
641 rcdev = r;
646 if (!rcdev) {
651 if (WARN_ON(args.args_count != rcdev->of_reset_n_cells)) {
656 rstc_id = rcdev->of_xlate(rcdev, &args);
662 /* reset_list_mutex also protects the rcdev's reset_control list */
663 rstc = __reset_control_get_internal(rcdev, rstc_id, shared, acquired);
676 struct reset_controller_dev *rcdev;
680 list_for_each_entry(rcdev, &reset_controller_list, list) {
681 if (!rcdev->dev)
684 if (!strcmp(name, dev_name(rcdev->dev)))
685 return rcdev;
696 struct reset_controller_dev *rcdev;
710 rcdev = __reset_controller_by_name(lookup->provider);
711 if (!rcdev) {
718 rstc = __reset_control_get_internal(rcdev,