Merge branch 'for-3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...
[cascardo/linux.git] / include / linux / reset.h
index 6082247..c0eda50 100644 (file)
@@ -4,6 +4,8 @@
 struct device;
 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);
@@ -12,6 +14,67 @@ 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);
 
-int device_reset(struct device *dev);
+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);
+}
+
+#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;
+}
+
+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);
+}
+
+#endif /* CONFIG_RESET_CONTROLLER */
 
 #endif