Lines Matching defs:rcdev

38  * @rcdev: a pointer to the reset controller device
40 * @list: list entry for the rcdev's reset controller list
44 * @acquired: Only one reset_control may be acquired for a given rcdev and id.
53 struct reset_controller_dev *rcdev;
86 static const char *rcdev_name(struct reset_controller_dev *rcdev)
88 if (rcdev->dev)
89 return dev_name(rcdev->dev);
91 if (rcdev->of_node)
92 return rcdev->of_node->full_name;
94 if (rcdev->of_args)
95 return rcdev->of_args->np->full_name;
102 * @rcdev: a pointer to the reset controller device
110 static int of_reset_simple_xlate(struct reset_controller_dev *rcdev,
113 if (reset_spec->args[0] >= rcdev->nr_resets)
121 * @rcdev: a pointer to the initialized reset controller device
123 int reset_controller_register(struct reset_controller_dev *rcdev)
125 if (rcdev->of_node && rcdev->of_args)
128 if (!rcdev->of_xlate) {
129 rcdev->of_reset_n_cells = 1;
130 rcdev->of_xlate = of_reset_simple_xlate;
133 INIT_LIST_HEAD(&rcdev->reset_control_head);
136 list_add(&rcdev->list, &reset_controller_list);
145 * @rcdev: a pointer to the reset controller device
147 void reset_controller_unregister(struct reset_controller_dev *rcdev)
150 list_del(&rcdev->list);
163 * @rcdev: a pointer to the initialized reset controller device
170 struct reset_controller_dev *rcdev)
180 ret = reset_controller_register(rcdev);
186 *rcdevp = rcdev;
366 if (!rstc->rcdev->ops->reset)
380 ret = rstc->rcdev->ops->reset(rstc->rcdev, rstc->id);
493 if (!rstc->rcdev->ops->assert)
501 if (!rstc->rcdev->ops->assert)
506 rcdev_name(rstc->rcdev), rstc->id);
511 return rstc->rcdev->ops->assert(rstc->rcdev, rstc->id);
576 rcdev_name(rstc->rcdev), rstc->id);
588 if (!rstc->rcdev->ops->deassert)
591 return rstc->rcdev->ops->deassert(rstc->rcdev, rstc->id);
639 if (rstc->rcdev->ops->status)
640 return rstc->rcdev->ops->status(rstc->rcdev, rstc->id);
686 list_for_each_entry(rc, &rstc->rcdev->reset_control_head, list) {
775 __reset_control_get_internal(struct reset_controller_dev *rcdev,
782 list_for_each_entry(rstc, &rcdev->reset_control_head, list) {
804 if (!try_module_get(rcdev->owner)) {
809 rstc->rcdev = rcdev;
810 list_add(&rstc->list, &rcdev->reset_control_head);
826 module_put(rstc->rcdev->owner);
982 struct reset_controller_dev *rcdev;
986 list_for_each_entry(rcdev, &reset_controller_list, list) {
988 if (rcdev->of_args && of_phandle_args_equal(args,
989 rcdev->of_args))
990 return rcdev;
992 if (args->np == rcdev->of_node)
993 return rcdev;
1006 struct reset_controller_dev *rcdev;
1050 rcdev = __reset_find_rcdev(&args, gpio_fallback);
1051 if (!rcdev) {
1056 if (WARN_ON(args.args_count != rcdev->of_reset_n_cells)) {
1061 rstc_id = rcdev->of_xlate(rcdev, &args);
1067 /* reset_list_mutex also protects the rcdev's reset_control list */
1068 rstc = __reset_control_get_internal(rcdev, rstc_id, shared, acquired);
1082 struct reset_controller_dev *rcdev;
1086 list_for_each_entry(rcdev, &reset_controller_list, list) {
1087 if (!rcdev->dev)
1090 if (!strcmp(name, dev_name(rcdev->dev)))
1091 return rcdev;
1102 struct reset_controller_dev *rcdev;
1116 rcdev = __reset_controller_by_name(lookup->provider);
1117 if (!rcdev) {
1124 rstc = __reset_control_get_internal(rcdev,