106 lines
2.4 KiB
Diff
106 lines
2.4 KiB
Diff
|
From 080f1a0c539180a88066fb004a8c31eefdf74161 Mon Sep 17 00:00:00 2001
|
||
|
From: John Crispin <blogic@openwrt.org>
|
||
|
Date: Fri, 9 Aug 2013 18:47:27 +0200
|
||
|
Subject: [PATCH 02/25] reset: Fix compile when reset RESET_CONTROLLER is not
|
||
|
selected
|
||
|
|
||
|
Drivers need to protect their reset api calls with #ifdef to avoid compile
|
||
|
errors.
|
||
|
|
||
|
This patch adds dummy wrappers in the same way that linux/of.h does it.
|
||
|
|
||
|
Cc: linux-kernel@vger.kernel.org
|
||
|
Cc: Philipp Zabel <p.zabel@pengutronix.de>
|
||
|
Cc: Gabor Juhos <juhosg@openwrt.org>
|
||
|
---
|
||
|
include/linux/reset-controller.h | 16 ++++++++++++++
|
||
|
include/linux/reset.h | 43 ++++++++++++++++++++++++++++++++++++++
|
||
|
2 files changed, 59 insertions(+)
|
||
|
|
||
|
--- a/include/linux/reset-controller.h
|
||
|
+++ b/include/linux/reset-controller.h
|
||
|
@@ -45,7 +45,23 @@ struct reset_controller_dev {
|
||
|
unsigned int nr_resets;
|
||
|
};
|
||
|
|
||
|
+#if defined(CONFIG_RESET_CONTROLLER)
|
||
|
+
|
||
|
int reset_controller_register(struct reset_controller_dev *rcdev);
|
||
|
void reset_controller_unregister(struct reset_controller_dev *rcdev);
|
||
|
|
||
|
+#else
|
||
|
+
|
||
|
+static inline int reset_controller_register(struct reset_controller_dev *rcdev)
|
||
|
+{
|
||
|
+ return -ENOSYS;
|
||
|
+}
|
||
|
+
|
||
|
+void reset_controller_unregister(struct reset_controller_dev *rcdev)
|
||
|
+{
|
||
|
+
|
||
|
+}
|
||
|
+
|
||
|
+#endif
|
||
|
+
|
||
|
#endif
|
||
|
--- a/include/linux/reset.h
|
||
|
+++ b/include/linux/reset.h
|
||
|
@@ -1,9 +1,13 @@
|
||
|
#ifndef _LINUX_RESET_H_
|
||
|
#define _LINUX_RESET_H_
|
||
|
|
||
|
+#include <linux/err.h>
|
||
|
+
|
||
|
struct device;
|
||
|
struct reset_control;
|
||
|
|
||
|
+#if defined(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);
|
||
|
@@ -14,4 +18,43 @@ struct reset_control *devm_reset_control
|
||
|
|
||
|
int device_reset(struct device *dev);
|
||
|
|
||
|
+#else /* CONFIG_RESET_CONTROLLER */
|
||
|
+
|
||
|
+static inline int reset_control_reset(struct reset_control *rstc)
|
||
|
+{
|
||
|
+ return -ENOSYS;
|
||
|
+}
|
||
|
+
|
||
|
+static inline int reset_control_assert(struct reset_control *rstc)
|
||
|
+{
|
||
|
+ return -ENOSYS;
|
||
|
+}
|
||
|
+
|
||
|
+static inline int reset_control_deassert(struct reset_control *rstc)
|
||
|
+{
|
||
|
+ return -ENOSYS;
|
||
|
+}
|
||
|
+
|
||
|
+static inline struct reset_control *reset_control_get(struct device *dev, const char *id)
|
||
|
+{
|
||
|
+ return ERR_PTR(-ENOSYS);
|
||
|
+}
|
||
|
+
|
||
|
+static inline void reset_control_put(struct reset_control *rstc)
|
||
|
+{
|
||
|
+
|
||
|
+}
|
||
|
+
|
||
|
+static inline struct reset_control *devm_reset_control_get(struct device *dev, const char *id)
|
||
|
+{
|
||
|
+ return ERR_PTR(-ENOSYS);
|
||
|
+}
|
||
|
+
|
||
|
+static inline int device_reset(struct device *dev)
|
||
|
+{
|
||
|
+ return -ENOSYS;
|
||
|
+}
|
||
|
+
|
||
|
+#endif
|
||
|
+
|
||
|
#endif
|