cregit-Linux how code gets into the kernel

Release 4.7 include/linux/reset.h

Directory: include/linux
#ifndef _LINUX_RESET_H_

#define _LINUX_RESET_H_

#include <linux/device.h>

struct reset_control;

#ifdef CONFIG_RESET_CONTROLLER

int reset_control_reset(struct reset_control *rstc);
int reset_control_assert(struct reset_control *rstc);
int reset_control_deassert(struct reset_control *rstc);
int reset_control_status(struct reset_control *rstc);

struct reset_control *__of_reset_control_get(struct device_node *node,
				     const char *id, int index, int shared);
void reset_control_put(struct reset_control *rstc);
struct reset_control *__devm_reset_control_get(struct device *dev,
				     const char *id, int index, int shared);

int __must_check device_reset(struct device *dev);


static inline int device_reset_optional(struct device *dev) { return device_reset(dev); }

Contributors

PersonTokensPropCommitsCommitProp
philipp zabelphilipp zabel18100.00%1100.00%
Total18100.00%1100.00%

#else
static inline int reset_control_reset(struct reset_control *rstc) { WARN_ON(1); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
philipp zabelphilipp zabel20100.00%1100.00%
Total20100.00%1100.00%


static inline int reset_control_assert(struct reset_control *rstc) { WARN_ON(1); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
philipp zabelphilipp zabel20100.00%1100.00%
Total20100.00%1100.00%


static inline int reset_control_deassert(struct reset_control *rstc) { WARN_ON(1); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
philipp zabelphilipp zabel1890.00%150.00%
dinh nguyendinh nguyen210.00%150.00%
Total20100.00%2100.00%


static inline int reset_control_status(struct reset_control *rstc) { WARN_ON(1); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
dinh nguyendinh nguyen1890.00%150.00%
philipp zabelphilipp zabel210.00%150.00%
Total20100.00%2100.00%


static inline void reset_control_put(struct reset_control *rstc) { WARN_ON(1); }

Contributors

PersonTokensPropCommitsCommitProp
philipp zabelphilipp zabel17100.00%2100.00%
Total17100.00%2100.00%


static inline int __must_check device_reset(struct device *dev) { WARN_ON(1); return -ENOTSUPP; }

Contributors

PersonTokensPropCommitsCommitProp
daniel lezcanodaniel lezcano22100.00%1100.00%
Total22100.00%1100.00%


static inline int device_reset_optional(struct device *dev) { return -ENOTSUPP; }

Contributors

PersonTokensPropCommitsCommitProp
philipp zabelphilipp zabel16100.00%2100.00%
Total16100.00%2100.00%


static inline struct reset_control *__of_reset_control_get( struct device_node *node, const char *id, int index, int shared) { return ERR_PTR(-EINVAL); }

Contributors

PersonTokensPropCommitsCommitProp
axel linaxel lin2371.88%133.33%
hans de goedehans de goede928.12%266.67%
Total32100.00%3100.00%


static inline struct reset_control *__devm_reset_control_get( struct device *dev, const char *id, int index, int shared) { return ERR_PTR(-EINVAL); }

Contributors

PersonTokensPropCommitsCommitProp
axel linaxel lin2578.12%133.33%
hans de goedehans de goede721.88%266.67%
Total32100.00%3100.00%

#endif /* CONFIG_RESET_CONTROLLER */ /** * reset_control_get_exclusive - Lookup and obtain an exclusive reference * to a reset controller. * @dev: device to be reset by the controller * @id: reset line name * * Returns a struct reset_control or IS_ERR() condition containing errno. * If this function is called more then once for the same reset_control it will * return -EBUSY. * * See reset_control_get_shared for details on shared references to * reset-controls. * * Use of id names is optional. */
static inline struct reset_control * __must_check reset_control_get_exclusive(struct device *dev, const char *id) { #ifndef CONFIG_RESET_CONTROLLER WARN_ON(1); #endif return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, 0); }

Contributors

PersonTokensPropCommitsCommitProp
hans de goedehans de goede2552.08%240.00%
philipp zabelphilipp zabel2245.83%240.00%
lee joneslee jones12.08%120.00%
Total48100.00%5100.00%

/** * reset_control_get_shared - Lookup and obtain a shared reference to a * reset controller. * @dev: device to be reset by the controller * @id: reset line name * * Returns a struct reset_control or IS_ERR() condition containing errno. * This function is intended for use with reset-controls which are shared * between hardware-blocks. * * When a reset-control is shared, the behavior of reset_control_assert / * deassert is changed, the reset-core will keep track of a deassert_count * and only (re-)assert the reset after reset_control_assert has been called * as many times as reset_control_deassert was called. Also see the remark * about shared reset-controls in the reset_control_assert docs. * * Calling reset_control_assert without first calling reset_control_deassert * is not allowed on a shared reset control. Calling reset_control_reset is * also not allowed on a shared reset control. * * Use of id names is optional. */
static inline struct reset_control *reset_control_get_shared( struct device *dev, const char *id) { return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, 1); }

Contributors

PersonTokensPropCommitsCommitProp
philipp zabelphilipp zabel1951.35%240.00%
hans de goedehans de goede1643.24%240.00%
lee joneslee jones25.41%120.00%
Total37100.00%5100.00%


static inline struct reset_control *reset_control_get_optional_exclusive( struct device *dev, const char *id) { return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, 0); }

Contributors

PersonTokensPropCommitsCommitProp
hans de goedehans de goede3286.49%125.00%
philipp zabelphilipp zabel38.11%125.00%
lee joneslee jones25.41%250.00%
Total37100.00%4100.00%


static inline struct reset_control *reset_control_get_optional_shared( struct device *dev, const char *id) { return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, 1); }

Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones37100.00%1100.00%
Total37100.00%1100.00%

/** * of_reset_control_get_exclusive - Lookup and obtain an exclusive reference * to a reset controller. * @node: device to be reset by the controller * @id: reset line name * * Returns a struct reset_control or IS_ERR() condition containing errno. * * Use of id names is optional. */
static inline struct reset_control *of_reset_control_get_exclusive( struct device_node *node, const char *id) { return __of_reset_control_get(node, id, 0, 0); }

Contributors

PersonTokensPropCommitsCommitProp
hans de goedehans de goede3096.77%375.00%
lee joneslee jones13.23%125.00%
Total31100.00%4100.00%

/** * of_reset_control_get_shared - Lookup and obtain an shared reference * to a reset controller. * @node: device to be reset by the controller * @id: reset line name * * When a reset-control is shared, the behavior of reset_control_assert / * deassert is changed, the reset-core will keep track of a deassert_count * and only (re-)assert the reset after reset_control_assert has been called * as many times as reset_control_deassert was called. Also see the remark * about shared reset-controls in the reset_control_assert docs. * * Calling reset_control_assert without first calling reset_control_deassert * is not allowed on a shared reset control. Calling reset_control_reset is * also not allowed on a shared reset control. * Returns a struct reset_control or IS_ERR() condition containing errno. * * Use of id names is optional. */
static inline struct reset_control *of_reset_control_get_shared( struct device_node *node, const char *id) { return __of_reset_control_get(node, id, 0, 1); }

Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones31100.00%1100.00%
Total31100.00%1100.00%

/** * of_reset_control_get_exclusive_by_index - Lookup and obtain an exclusive * reference to a reset controller * by index. * @node: device to be reset by the controller * @index: index of the reset controller * * This is to be used to perform a list of resets for a device or power domain * in whatever order. Returns a struct reset_control or IS_ERR() condition * containing errno. */
static inline struct reset_control *of_reset_control_get_exclusive_by_index( struct device_node *node, int index) { return __of_reset_control_get(node, NULL, index, 0); }

Contributors

PersonTokensPropCommitsCommitProp
vince hsuvince hsu2068.97%125.00%
hans de goedehans de goede827.59%250.00%
lee joneslee jones13.45%125.00%
Total29100.00%4100.00%

/** * of_reset_control_get_shared_by_index - Lookup and obtain an shared * reference to a reset controller * by index. * @node: device to be reset by the controller * @index: index of the reset controller * * When a reset-control is shared, the behavior of reset_control_assert / * deassert is changed, the reset-core will keep track of a deassert_count * and only (re-)assert the reset after reset_control_assert has been called * as many times as reset_control_deassert was called. Also see the remark * about shared reset-controls in the reset_control_assert docs. * * Calling reset_control_assert without first calling reset_control_deassert * is not allowed on a shared reset control. Calling reset_control_reset is * also not allowed on a shared reset control. * Returns a struct reset_control or IS_ERR() condition containing errno. * * This is to be used to perform a list of resets for a device or power domain * in whatever order. Returns a struct reset_control or IS_ERR() condition * containing errno. */
static inline struct reset_control *of_reset_control_get_shared_by_index( struct device_node *node, int index) { return __of_reset_control_get(node, NULL, index, 1); }

Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones29100.00%1100.00%
Total29100.00%1100.00%

/** * devm_reset_control_get_exclusive - resource managed * reset_control_get_exclusive() * @dev: device to be reset by the controller * @id: reset line name * * Managed reset_control_get_exclusive(). For reset controllers returned * from this function, reset_control_put() is called automatically on driver * detach. * * See reset_control_get_exclusive() for more information. */
static inline struct reset_control * __must_check devm_reset_control_get_exclusive(struct device *dev, const char *id) { #ifndef CONFIG_RESET_CONTROLLER WARN_ON(1); #endif return __devm_reset_control_get(dev, id, 0, 0); }

Contributors

PersonTokensPropCommitsCommitProp
hans de goedehans de goede3992.86%250.00%
philipp zabelphilipp zabel24.76%125.00%
lee joneslee jones12.38%125.00%
Total42100.00%4100.00%

/** * devm_reset_control_get_shared - resource managed reset_control_get_shared() * @dev: device to be reset by the controller * @id: reset line name * * Managed reset_control_get_shared(). For reset controllers returned from * this function, reset_control_put() is called automatically on driver detach. * See reset_control_get_shared() for more information. */
static inline struct reset_control *devm_reset_control_get_shared( struct device *dev, const char *id) { return __devm_reset_control_get(dev, id, 0, 1); }

Contributors

PersonTokensPropCommitsCommitProp
hans de goedehans de goede2993.55%266.67%
lee joneslee jones26.45%133.33%
Total31100.00%3100.00%


static inline struct reset_control *devm_reset_control_get_optional_exclusive( struct device *dev, const char *id) { return __devm_reset_control_get(dev, id, 0, 0); }

Contributors

PersonTokensPropCommitsCommitProp
hans de goedehans de goede2477.42%250.00%
lee joneslee jones722.58%250.00%
Total31100.00%4100.00%


static inline struct reset_control *devm_reset_control_get_optional_shared( struct device *dev, const char *id) { return __devm_reset_control_get(dev, id, 0, 1); }

Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones31100.00%1100.00%
Total31100.00%1100.00%

/** * devm_reset_control_get_exclusive_by_index - resource managed * reset_control_get_exclusive() * @dev: device to be reset by the controller * @index: index of the reset controller * * Managed reset_control_get_exclusive(). For reset controllers returned from * this function, reset_control_put() is called automatically on driver * detach. * * See reset_control_get_exclusive() for more information. */
static inline struct reset_control * devm_reset_control_get_exclusive_by_index(struct device *dev, int index) { return __devm_reset_control_get(dev, NULL, index, 0); }

Contributors

PersonTokensPropCommitsCommitProp
hans de goedehans de goede2379.31%133.33%
lee joneslee jones620.69%266.67%
Total29100.00%3100.00%

/** * devm_reset_control_get_shared_by_index - resource managed * reset_control_get_shared * @dev: device to be reset by the controller * @index: index of the reset controller * * Managed reset_control_get_shared(). For reset controllers returned from * this function, reset_control_put() is called automatically on driver detach. * See reset_control_get_shared() for more information. */
static inline struct reset_control * devm_reset_control_get_shared_by_index(struct device *dev, int index) { return __devm_reset_control_get(dev, NULL, index, 1); }

Contributors

PersonTokensPropCommitsCommitProp
hans de goedehans de goede29100.00%2100.00%
Total29100.00%2100.00%

/* * TEMPORARY calls to use during transition: * * of_reset_control_get() => of_reset_control_get_exclusive() * * These inline function calls will be removed once all consumers * have been moved over to the new explicit API. */
static inline struct reset_control *reset_control_get( struct device *dev, const char *id) { return reset_control_get_exclusive(dev, id); }

Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones27100.00%1100.00%
Total27100.00%1100.00%


static inline struct reset_control *reset_control_get_optional( struct device *dev, const char *id) { return reset_control_get_optional_exclusive(dev, id); }

Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones27100.00%1100.00%
Total27100.00%1100.00%


static inline struct reset_control *of_reset_control_get( struct device_node *node, const char *id) { return of_reset_control_get_exclusive(node, id); }

Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones27100.00%1100.00%
Total27100.00%1100.00%


static inline struct reset_control *of_reset_control_get_by_index( struct device_node *node, int index) { return of_reset_control_get_exclusive_by_index(node, index); }

Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones25100.00%1100.00%
Total25100.00%1100.00%


static inline struct reset_control *devm_reset_control_get( struct device *dev, const char *id) { return devm_reset_control_get_exclusive(dev, id); }

Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones27100.00%1100.00%
Total27100.00%1100.00%


static inline struct reset_control *devm_reset_control_get_optional( struct device *dev, const char *id) { return devm_reset_control_get_optional_exclusive(dev, id); }

Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones27100.00%1100.00%
Total27100.00%1100.00%


static inline struct reset_control *devm_reset_control_get_by_index( struct device *dev, int index) { return devm_reset_control_get_exclusive_by_index(dev, index); }

Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones25100.00%1100.00%
Total25100.00%1100.00%

#endif

Overall Contributors

PersonTokensPropCommitsCommitProp
lee joneslee jones34634.39%426.67%
hans de goedehans de goede29529.32%320.00%
philipp zabelphilipp zabel23323.16%320.00%
axel linaxel lin484.77%16.67%
dinh nguyendinh nguyen292.88%16.67%
daniel lezcanodaniel lezcano222.19%16.67%
vince hsuvince hsu201.99%16.67%
maxime ripardmaxime ripard131.29%16.67%
Total1006100.00%15100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}