drivers: pinctrl sleep and idle states in the core
[cascardo/linux.git] / include / linux / pinctrl / consumer.h
index 4aad3ce..0f32f10 100644 (file)
@@ -40,6 +40,25 @@ extern int pinctrl_select_state(struct pinctrl *p, struct pinctrl_state *s);
 extern struct pinctrl * __must_check devm_pinctrl_get(struct device *dev);
 extern void devm_pinctrl_put(struct pinctrl *p);
 
+#ifdef CONFIG_PM
+extern int pinctrl_pm_select_default_state(struct device *dev);
+extern int pinctrl_pm_select_sleep_state(struct device *dev);
+extern int pinctrl_pm_select_idle_state(struct device *dev);
+#else
+static inline int pinctrl_pm_select_default_state(struct device *dev)
+{
+       return 0;
+}
+static inline int pinctrl_pm_select_sleep_state(struct device *dev)
+{
+       return 0;
+}
+static inline int pinctrl_pm_select_idle_state(struct device *dev)
+{
+       return 0;
+}
+#endif
+
 #else /* !CONFIG_PINCTRL */
 
 static inline int pinctrl_request_gpio(unsigned gpio)
@@ -199,6 +218,21 @@ static inline int pin_config_group_set(const char *dev_name,
        return 0;
 }
 
+static inline int pinctrl_pm_select_default_state(struct device *dev)
+{
+       return 0;
+}
+
+static inline int pinctrl_pm_select_sleep_state(struct device *dev)
+{
+       return 0;
+}
+
+static inline int pinctrl_pm_select_idle_state(struct device *dev)
+{
+       return 0;
+}
+
 #endif
 
 #endif /* __LINUX_PINCTRL_CONSUMER_H */