• Home
  • Raw
  • Download

Lines Matching full:reset

2  * Reset Controller framework
19 #include <linux/reset.h>
20 #include <linux/reset-controller.h>
30 * struct reset_control - a reset control
31 * @rcdev: a pointer to the reset controller device
32 * this reset control belongs to
33 * @list: list entry for the rcdev's reset controller list
34 * @id: ID of the reset controller in the reset
38 * @deassert_cnt: Number of times this reset line has been deasserted
39 * @triggered_count: Number of times this reset line has been reset. Currently
55 * struct reset_control_array - an array of reset controls
56 * @base: reset control for compatibility with reset control API functions
57 * @num_rstcs: number of reset controls
58 * @rstc: array of reset controls
67 * of_reset_simple_xlate - translate reset_spec to the reset line number
68 * @rcdev: a pointer to the reset controller device
69 * @reset_spec: reset line specifier as found in the device tree
72 * This simple translation function should be used for reset controllers
73 * with 1:1 mapping, where reset lines can be indexed by number without gaps.
85 * reset_controller_register - register a reset controller device
86 * @rcdev: a pointer to the initialized reset controller device
106 * reset_controller_unregister - unregister a reset controller device
107 * @rcdev: a pointer to the reset controller device
124 * @dev: device that is registering this reset controller
125 * @rcdev: a pointer to the initialized reset controller device
127 * Managed reset_controller_register(). For reset controllers registered by
156 * @lookup: array of reset lookup entries
170 pr_warn("%s(): reset lookup entry badly specified, skipping\n", in reset_controller_add_lookup()
241 * reset_control_reset - reset the controlled device
242 * @rstc: reset controller
244 * On a shared reset line the actual reset pulse is only triggered once for the
247 * Consumers must not use reset_control_(de)assert on shared reset lines when
250 * If rstc is NULL it is an optional reset and the function will just
266 if (!rstc->rcdev->ops->reset) in reset_control_reset()
277 ret = rstc->rcdev->ops->reset(rstc->rcdev, rstc->id); in reset_control_reset()
286 * reset_control_assert - asserts the reset line
287 * @rstc: reset controller
289 * Calling this on an exclusive reset controller guarantees that the reset
290 * will be asserted. When called on a shared reset controller the line may
293 * For shared reset controls a driver cannot expect the hw's registers and
294 * internal state to be reset, but must be prepared for this to happen.
295 * Consumers must not use reset_control_reset on shared reset lines when
299 * If rstc is NULL it is an optional reset and the function will just
324 * Shared reset controls allow the reset line to be in any state in reset_control_assert()
331 * If the reset controller does not implement .assert(), there in reset_control_assert()
332 * is no way to guarantee that the reset line is asserted after in reset_control_assert()
344 * reset_control_deassert - deasserts the reset line
345 * @rstc: reset controller
347 * After calling this function, the reset is guaranteed to be deasserted.
348 * Consumers must not use reset_control_reset on shared reset lines when
352 * If rstc is NULL it is an optional reset and the function will just
375 * If the reset controller does not implement .deassert(), we assume in reset_control_deassert()
376 * that it handles self-deasserting reset lines via .reset(). In that in reset_control_deassert()
377 * case, the reset lines are deasserted by default. If that is not the in reset_control_deassert()
378 * case, the reset controller driver should implement .deassert() and in reset_control_deassert()
390 * positive value if the reset line is asserted, or zero if the reset
391 * line is not asserted or if the desc is NULL (optional reset).
392 * @rstc: reset controller
477 "reset-names", id); in __of_reset_control_get()
484 ret = of_parse_phandle_with_args(node, "resets", "#reset-cells", in __of_reset_control_get()
571 /* Reset provider may not be ready yet. */ in __reset_control_get_from_lookup()
614 * reset_control_put - free the reset controller
615 * @rstc: reset controller
662 * device_reset - find reset controller associated with the device
663 * and perform reset
664 * @dev: device to be reset by the controller
665 * @optional: whether it is optional to reset the device
668 * This is useful for the common case of devices with single, dedicated reset
689 * APIs to manage an array of reset controls.
696 * Returns positive reset count on success, or error number on failure and
706 count = of_count_phandle_with_args(node, "resets", "#reset-cells"); in of_reset_control_get_count()
714 * of_reset_control_array_get - Get a list of reset controls using
717 * @np: device node for the device that requests the reset controls array
718 * @shared: whether reset controls are shared or not
719 * @optional: whether it is optional to get the reset controls
763 * devm_reset_control_array_get - Resource managed reset control array get
765 * @dev: device that requests the list of reset controls
766 * @shared: whether reset controls are shared or not
767 * @optional: whether it is optional to get the reset controls
769 * The reset control array APIs are intended for a list of resets