Lines Matching +full:reset +full:- +full:controller

1 /* SPDX-License-Identifier: GPL-2.0 */
14 * struct reset_control_bulk_data - Data used for bulk reset control operations.
16 * @id: reset control consumer ID
17 * @rstc: struct reset_control * to store the associated reset control
19 * The reset APIs provide a series of reset_control_bulk_*() API calls as
20 * a convenience to consumers which require multiple reset controls.
34 * enum reset_control_flags - Flags that can be passed to the reset_control_get functions
35 * to determine the type of reset control.
151 return optional ? 0 : -ENOTSUPP; in __device_reset()
160 return optional ? NULL : ERR_PTR(-ENOTSUPP); in __of_reset_control_get()
169 return optional ? NULL : ERR_PTR(-ENOTSUPP); in __reset_control_get()
208 return optional ? 0 : -EOPNOTSUPP; in __reset_control_bulk_get()
222 return optional ? NULL : ERR_PTR(-ENOTSUPP); in __devm_reset_control_get()
232 return optional ? 0 : -EOPNOTSUPP; in __devm_reset_control_bulk_get()
240 return optional ? NULL : ERR_PTR(-ENOTSUPP); in devm_reset_control_array_get()
248 return optional ? NULL : ERR_PTR(-ENOTSUPP); in of_reset_control_array_get()
253 return -ENOENT; in reset_control_get_count()
269 * reset_control_get_exclusive - Lookup and obtain an exclusive reference
270 * to a reset controller.
271 * @dev: device to be reset by the controller
272 * @id: reset line name
276 * return -EBUSY.
279 * reset-controls.
290 * reset_control_bulk_get_exclusive - Lookup and obtain exclusive references to
291 * multiple reset controllers.
292 * @dev: device to be reset by the controller
294 * @rstcs: array of struct reset_control_bulk_data with reset line names set
296 * Fills the rstcs array with pointers to exclusive reset controls and
307 * reset_control_get_exclusive_released - Lookup and obtain a temoprarily
308 * exclusive reference to a reset
309 * controller.
310 * @dev: device to be reset by the controller
311 * @id: reset line name
314 * reset-controls returned by this function must be acquired via
328 * reset_control_bulk_get_exclusive_released - Lookup and obtain temporarily
329 * exclusive references to multiple reset
331 * @dev: device to be reset by the controller
333 * @rstcs: array of struct reset_control_bulk_data with reset line names set
335 * Fills the rstcs array with pointers to exclusive reset controls and
337 * reset-controls returned by this function must be acquired via
349 * reset_control_bulk_get_optional_exclusive_released - Lookup and obtain optional
351 * reset controllers.
352 * @dev: device to be reset by the controller
354 * @rstcs: array of struct reset_control_bulk_data with reset line names set
357 * requested reset is not specified in the device tree, this function returns 0
371 * reset_control_get_shared - Lookup and obtain a shared reference to a
372 * reset controller.
373 * @dev: device to be reset by the controller
374 * @id: reset line name
377 * This function is intended for use with reset-controls which are shared
380 * When a reset-control is shared, the behavior of reset_control_assert /
381 * deassert is changed, the reset-core will keep track of a deassert_count
382 * and only (re-)assert the reset after reset_control_assert has been called
384 * about shared reset-controls in the reset_control_assert docs.
387 * is not allowed on a shared reset control. Calling reset_control_reset is
388 * also not allowed on a shared reset control.
399 * reset_control_bulk_get_shared - Lookup and obtain shared references to
400 * multiple reset controllers.
401 * @dev: device to be reset by the controller
403 * @rstcs: array of struct reset_control_bulk_data with reset line names set
405 * Fills the rstcs array with pointers to shared reset controls and
416 * reset_control_get_optional_exclusive - optional reset_control_get_exclusive()
417 * @dev: device to be reset by the controller
418 * @id: reset line name
420 * Optional variant of reset_control_get_exclusive(). If the requested reset
433 * reset_control_bulk_get_optional_exclusive - optional
435 * @dev: device to be reset by the controller
437 * @rstcs: array of struct reset_control_bulk_data with reset line names set
453 * reset_control_get_optional_shared - optional reset_control_get_shared()
454 * @dev: device to be reset by the controller
455 * @id: reset line name
457 * Optional variant of reset_control_get_shared(). If the requested reset
470 * reset_control_bulk_get_optional_shared - optional
472 * @dev: device to be reset by the controller
474 * @rstcs: array of struct reset_control_bulk_data with reset line names set
490 * of_reset_control_get_exclusive - Lookup and obtain an exclusive reference
491 * to a reset controller.
492 * @node: device to be reset by the controller
493 * @id: reset line name
506 * of_reset_control_get_optional_exclusive - Lookup and obtain an optional exclusive
507 * reference to a reset controller.
508 * @node: device to be reset by the controller
509 * @id: reset line name
511 * Optional variant of of_reset_control_get_exclusive(). If the requested reset
526 * of_reset_control_get_shared - Lookup and obtain a shared reference
527 * to a reset controller.
528 * @node: device to be reset by the controller
529 * @id: reset line name
531 * When a reset-control is shared, the behavior of reset_control_assert /
532 * deassert is changed, the reset-core will keep track of a deassert_count
533 * and only (re-)assert the reset after reset_control_assert has been called
535 * about shared reset-controls in the reset_control_assert docs.
538 * is not allowed on a shared reset control. Calling reset_control_reset is
539 * also not allowed on a shared reset control.
551 * of_reset_control_get_exclusive_by_index - Lookup and obtain an exclusive
552 * reference to a reset controller
554 * @node: device to be reset by the controller
555 * @index: index of the reset controller
568 * of_reset_control_get_shared_by_index - Lookup and obtain a shared
569 * reference to a reset controller
571 * @node: device to be reset by the controller
572 * @index: index of the reset controller
574 * When a reset-control is shared, the behavior of reset_control_assert /
575 * deassert is changed, the reset-core will keep track of a deassert_count
576 * and only (re-)assert the reset after reset_control_assert has been called
578 * about shared reset-controls in the reset_control_assert docs.
581 * is not allowed on a shared reset control. Calling reset_control_reset is
582 * also not allowed on a shared reset control.
596 * devm_reset_control_get_exclusive - resource managed
598 * @dev: device to be reset by the controller
599 * @id: reset line name
601 * Managed reset_control_get_exclusive(). For reset controllers returned
615 * devm_reset_control_get_exclusive_deasserted - resource managed
618 * @dev: device to be reset by the controller
619 * @id: reset line name
621 * Managed reset_control_get_exclusive() + reset_control_deassert(). For reset
634 * devm_reset_control_bulk_get_exclusive - resource managed
636 * @dev: device to be reset by the controller
638 * @rstcs: array of struct reset_control_bulk_data with reset line names set
640 * Managed reset_control_bulk_get_exclusive(). For reset controllers returned
655 * devm_reset_control_get_exclusive_released - resource managed
657 * @dev: device to be reset by the controller
658 * @id: reset line name
660 * Managed reset_control_get_exclusive_released(). For reset controllers
674 * devm_reset_control_bulk_get_exclusive_released - resource managed
676 * @dev: device to be reset by the controller
678 * @rstcs: array of struct reset_control_bulk_data with reset line names set
680 * Managed reset_control_bulk_get_exclusive_released(). For reset controllers
695 * devm_reset_control_get_optional_exclusive_released - resource managed
697 * @dev: device to be reset by the controller
698 * @id: reset line name
700 * Managed-and-optional variant of reset_control_get_exclusive_released(). For
701 * reset controllers returned from this function, reset_control_put() is called
714 * devm_reset_control_bulk_get_optional_exclusive_released - resource managed
716 * @dev: device to be reset by the controller
718 * @rstcs: array of struct reset_control_bulk_data with reset line names set
720 * Managed reset_control_bulk_optional_get_exclusive_released(). For reset
735 * devm_reset_control_get_shared - resource managed reset_control_get_shared()
736 * @dev: device to be reset by the controller
737 * @id: reset line name
739 * Managed reset_control_get_shared(). For reset controllers returned from
750 * devm_reset_control_get_shared_deasserted - resource managed
753 * @dev: device to be reset by the controller
754 * @id: reset line name
756 * Managed reset_control_get_shared() + reset_control_deassert(). For reset
769 * devm_reset_control_bulk_get_shared - resource managed
771 * @dev: device to be reset by the controller
773 * @rstcs: array of struct reset_control_bulk_data with reset line names set
775 * Managed reset_control_bulk_get_shared(). For reset controllers returned
789 * devm_reset_control_bulk_get_shared_deasserted - resource managed
792 * @dev: device to be reset by the controller
794 * @rstcs: array of struct reset_control_bulk_data with reset line names set
797 * reset controllers returned from this function, reset_control_bulk_assert() +
811 * devm_reset_control_get_optional_exclusive - resource managed
813 * @dev: device to be reset by the controller
814 * @id: reset line name
816 * Managed reset_control_get_optional_exclusive(). For reset controllers
829 * devm_reset_control_get_optional_exclusive_deasserted - resource managed
832 * @dev: device to be reset by the controller
833 * @id: reset line name
836 * For reset controllers returned from this function, reset_control_assert() +
848 * devm_reset_control_bulk_get_optional_exclusive - resource managed
850 * @dev: device to be reset by the controller
852 * @rstcs: array of struct reset_control_bulk_data with reset line names set
854 * Managed reset_control_bulk_get_optional_exclusive(). For reset controllers
869 * devm_reset_control_get_optional_shared - resource managed
871 * @dev: device to be reset by the controller
872 * @id: reset line name
874 * Managed reset_control_get_optional_shared(). For reset controllers returned
887 * devm_reset_control_get_optional_shared_deasserted - resource managed
890 * @dev: device to be reset by the controller
891 * @id: reset line name
894 * reset controllers returned from this function, reset_control_assert() +
906 * devm_reset_control_bulk_get_optional_shared - resource managed
908 * @dev: device to be reset by the controller
910 * @rstcs: array of struct reset_control_bulk_data with reset line names set
912 * Managed reset_control_bulk_get_optional_shared(). For reset controllers
926 * devm_reset_control_get_exclusive_by_index - resource managed
928 * @dev: device to be reset by the controller
929 * @index: index of the reset controller
931 * Managed reset_control_get_exclusive(). For reset controllers returned from
944 * devm_reset_control_get_shared_by_index - resource managed
946 * @dev: device to be reset by the controller
947 * @index: index of the reset controller
949 * Managed reset_control_get_shared(). For reset controllers returned from
999 * APIs to manage a list of reset controllers