2012-11-20 00:23:13 +08:00
|
|
|
#ifndef _LINUX_RESET_H_
|
|
|
|
#define _LINUX_RESET_H_
|
|
|
|
|
|
|
|
struct device;
|
2014-04-13 20:09:15 +08:00
|
|
|
struct device_node;
|
2012-11-20 00:23:13 +08:00
|
|
|
struct reset_control;
|
|
|
|
|
2014-03-07 22:18:47 +08:00
|
|
|
#ifdef CONFIG_RESET_CONTROLLER
|
|
|
|
|
2012-11-20 00:23:13 +08:00
|
|
|
int reset_control_reset(struct reset_control *rstc);
|
|
|
|
int reset_control_assert(struct reset_control *rstc);
|
|
|
|
int reset_control_deassert(struct reset_control *rstc);
|
2014-10-10 23:21:14 +08:00
|
|
|
int reset_control_status(struct reset_control *rstc);
|
2012-11-20 00:23:13 +08:00
|
|
|
|
|
|
|
struct reset_control *reset_control_get(struct device *dev, const char *id);
|
|
|
|
void reset_control_put(struct reset_control *rstc);
|
|
|
|
struct reset_control *devm_reset_control_get(struct device *dev, const char *id);
|
|
|
|
|
2014-03-07 22:18:47 +08:00
|
|
|
int __must_check device_reset(struct device *dev);
|
|
|
|
|
|
|
|
static inline int device_reset_optional(struct device *dev)
|
|
|
|
{
|
|
|
|
return device_reset(dev);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline struct reset_control *reset_control_get_optional(
|
|
|
|
struct device *dev, const char *id)
|
|
|
|
{
|
|
|
|
return reset_control_get(dev, id);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline struct reset_control *devm_reset_control_get_optional(
|
|
|
|
struct device *dev, const char *id)
|
|
|
|
{
|
|
|
|
return devm_reset_control_get(dev, id);
|
|
|
|
}
|
|
|
|
|
2014-04-13 20:09:15 +08:00
|
|
|
struct reset_control *of_reset_control_get(struct device_node *node,
|
|
|
|
const char *id);
|
|
|
|
|
2014-03-07 22:18:47 +08:00
|
|
|
#else
|
|
|
|
|
|
|
|
static inline int reset_control_reset(struct reset_control *rstc)
|
|
|
|
{
|
|
|
|
WARN_ON(1);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline int reset_control_assert(struct reset_control *rstc)
|
|
|
|
{
|
|
|
|
WARN_ON(1);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline int reset_control_deassert(struct reset_control *rstc)
|
|
|
|
{
|
|
|
|
WARN_ON(1);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2014-10-10 23:21:14 +08:00
|
|
|
static inline int reset_control_status(struct reset_control *rstc)
|
|
|
|
{
|
|
|
|
WARN_ON(1);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2014-03-07 22:18:47 +08:00
|
|
|
static inline void reset_control_put(struct reset_control *rstc)
|
|
|
|
{
|
|
|
|
WARN_ON(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline int device_reset_optional(struct device *dev)
|
|
|
|
{
|
|
|
|
return -ENOSYS;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline struct reset_control *reset_control_get_optional(
|
|
|
|
struct device *dev, const char *id)
|
|
|
|
{
|
|
|
|
return ERR_PTR(-ENOSYS);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline struct reset_control *devm_reset_control_get_optional(
|
|
|
|
struct device *dev, const char *id)
|
|
|
|
{
|
|
|
|
return ERR_PTR(-ENOSYS);
|
|
|
|
}
|
|
|
|
|
2014-04-13 20:09:15 +08:00
|
|
|
static inline struct reset_control *of_reset_control_get(
|
|
|
|
struct device_node *node, const char *id)
|
|
|
|
{
|
|
|
|
return ERR_PTR(-ENOSYS);
|
|
|
|
}
|
|
|
|
|
2014-03-07 22:18:47 +08:00
|
|
|
#endif /* CONFIG_RESET_CONTROLLER */
|
2012-11-20 00:23:13 +08:00
|
|
|
|
|
|
|
#endif
|