139cfddd2SFrançois Tigeot /*
2*1dedbd3bSFrançois Tigeot * Copyright (c) 2017-2019 François Tigeot <ftigeot@wolfpond.org>
339cfddd2SFrançois Tigeot * All rights reserved.
439cfddd2SFrançois Tigeot *
539cfddd2SFrançois Tigeot * Redistribution and use in source and binary forms, with or without
639cfddd2SFrançois Tigeot * modification, are permitted provided that the following conditions
739cfddd2SFrançois Tigeot * are met:
839cfddd2SFrançois Tigeot * 1. Redistributions of source code must retain the above copyright
939cfddd2SFrançois Tigeot * notice unmodified, this list of conditions, and the following
1039cfddd2SFrançois Tigeot * disclaimer.
1139cfddd2SFrançois Tigeot * 2. Redistributions in binary form must reproduce the above copyright
1239cfddd2SFrançois Tigeot * notice, this list of conditions and the following disclaimer in the
1339cfddd2SFrançois Tigeot * documentation and/or other materials provided with the distribution.
1439cfddd2SFrançois Tigeot *
1539cfddd2SFrançois Tigeot * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
1639cfddd2SFrançois Tigeot * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
1739cfddd2SFrançois Tigeot * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
1839cfddd2SFrançois Tigeot * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
1939cfddd2SFrançois Tigeot * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
2039cfddd2SFrançois Tigeot * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2139cfddd2SFrançois Tigeot * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2239cfddd2SFrançois Tigeot * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2339cfddd2SFrançois Tigeot * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
2439cfddd2SFrançois Tigeot * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2539cfddd2SFrançois Tigeot */
2639cfddd2SFrançois Tigeot
2739cfddd2SFrançois Tigeot #ifndef LINUX_PM_RUNTIME_H
2839cfddd2SFrançois Tigeot #define LINUX_PM_RUNTIME_H
2939cfddd2SFrançois Tigeot
3039cfddd2SFrançois Tigeot #include <linux/device.h>
3139cfddd2SFrançois Tigeot #include <linux/notifier.h>
3239cfddd2SFrançois Tigeot #include <linux/pm.h>
3339cfddd2SFrançois Tigeot #include <linux/jiffies.h>
3439cfddd2SFrançois Tigeot
35*1dedbd3bSFrançois Tigeot extern void pm_runtime_enable(struct device *dev);
36*1dedbd3bSFrançois Tigeot
37*1dedbd3bSFrançois Tigeot static inline void
pm_runtime_disable(struct device * dev)38*1dedbd3bSFrançois Tigeot pm_runtime_disable(struct device *dev)
39*1dedbd3bSFrançois Tigeot {
40*1dedbd3bSFrançois Tigeot /* pm_runtime_disable not implemented */
41*1dedbd3bSFrançois Tigeot }
42*1dedbd3bSFrançois Tigeot
43*1dedbd3bSFrançois Tigeot static inline int
pm_runtime_set_active(struct device * dev)44*1dedbd3bSFrançois Tigeot pm_runtime_set_active(struct device *dev)
45*1dedbd3bSFrançois Tigeot {
46*1dedbd3bSFrançois Tigeot /* pm_runtime_set_active not implemented */
47*1dedbd3bSFrançois Tigeot return 0;
48*1dedbd3bSFrançois Tigeot }
49*1dedbd3bSFrançois Tigeot
50*1dedbd3bSFrançois Tigeot static inline void
pm_runtime_mark_last_busy(struct device * dev)51*1dedbd3bSFrançois Tigeot pm_runtime_mark_last_busy(struct device *dev)
52*1dedbd3bSFrançois Tigeot {
53*1dedbd3bSFrançois Tigeot /* pm_runtime_mark_last_busy not implemented */
54*1dedbd3bSFrançois Tigeot }
55*1dedbd3bSFrançois Tigeot
56*1dedbd3bSFrançois Tigeot static inline void
pm_runtime_forbid(struct device * dev)57*1dedbd3bSFrançois Tigeot pm_runtime_forbid(struct device *dev)
58*1dedbd3bSFrançois Tigeot {
59*1dedbd3bSFrançois Tigeot /* pm_runtime_forbid not implemented */
60*1dedbd3bSFrançois Tigeot }
61*1dedbd3bSFrançois Tigeot
62*1dedbd3bSFrançois Tigeot static inline int
pm_runtime_get_sync(struct device * dev)63*1dedbd3bSFrançois Tigeot pm_runtime_get_sync(struct device *dev)
64*1dedbd3bSFrançois Tigeot {
65*1dedbd3bSFrançois Tigeot /* pm_runtime_get_sync not implemented */
66*1dedbd3bSFrançois Tigeot return 0;
67*1dedbd3bSFrançois Tigeot }
68*1dedbd3bSFrançois Tigeot
69*1dedbd3bSFrançois Tigeot static inline void
pm_runtime_put_autosuspend(struct device * dev)70*1dedbd3bSFrançois Tigeot pm_runtime_put_autosuspend(struct device *dev)
71*1dedbd3bSFrançois Tigeot {
72*1dedbd3bSFrançois Tigeot /* pm_runtime_put_autosuspend not implemented */
73*1dedbd3bSFrançois Tigeot }
74*1dedbd3bSFrançois Tigeot
7539cfddd2SFrançois Tigeot #endif /* LINUX_PM_RUNTIME_H */
76