summaryrefslogtreecommitdiff
path: root/backport/backport-include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'backport/backport-include/linux')
-rw-r--r--backport/backport-include/linux/export.h4
-rw-r--r--backport/backport-include/linux/hrtimer.h10
-rw-r--r--backport/backport-include/linux/kernel.h2
-rw-r--r--backport/backport-include/linux/netdevice.h2
-rw-r--r--backport/backport-include/linux/of_device.h2
-rw-r--r--backport/backport-include/linux/pci.h5
-rw-r--r--backport/backport-include/linux/random.h4
-rw-r--r--backport/backport-include/linux/suspend.h14
-rw-r--r--backport/backport-include/linux/thermal.h34
-rw-r--r--backport/backport-include/linux/timekeeping.h5
10 files changed, 78 insertions, 4 deletions
diff --git a/backport/backport-include/linux/export.h b/backport/backport-include/linux/export.h
index 6f6cb6a9..a3c7799a 100644
--- a/backport/backport-include/linux/export.h
+++ b/backport/backport-include/linux/export.h
@@ -3,7 +3,7 @@
#include <linux/version.h>
-#if LINUX_VERSION_IS_GEQ(3,2,0)
+#if LINUX_VERSION_IS_GEQ(3,1,0)
#include_next <linux/export.h>
#else
#ifndef pr_fmt
@@ -14,6 +14,6 @@
#undef pr_fmt
#undef backport_undef_pr_fmt
#endif
-#endif /* LINUX_VERSION_IS_GEQ(3,2,0) */
+#endif /* LINUX_VERSION_IS_GEQ(3,1,0) */
#endif /* _COMPAT_LINUX_EXPORT_H */
diff --git a/backport/backport-include/linux/hrtimer.h b/backport/backport-include/linux/hrtimer.h
new file mode 100644
index 00000000..2c186dd1
--- /dev/null
+++ b/backport/backport-include/linux/hrtimer.h
@@ -0,0 +1,10 @@
+#ifndef __BACKPORT_LINUX_HRTIMER_H
+#define __BACKPORT_LINUX_HRTIMER_H
+#include_next <linux/hrtimer.h>
+
+#if LINUX_VERSION_IS_LESS(3,17,0)
+u64 bp_ktime_divns(const ktime_t kt, s64 div);
+#define ktime_divns bp_ktime_divns
+#endif /* < 3.17 */
+
+#endif /* __BACKPORT_LINUX_HRTIMER_H */
diff --git a/backport/backport-include/linux/kernel.h b/backport/backport-include/linux/kernel.h
index f5081663..332f1537 100644
--- a/backport/backport-include/linux/kernel.h
+++ b/backport/backport-include/linux/kernel.h
@@ -1,7 +1,9 @@
#ifndef __BACKPORT_KERNEL_H
#define __BACKPORT_KERNEL_H
#include_next <linux/kernel.h>
+#if LINUX_VERSION_IS_GEQ(4,5,0)
#include <linux/bug.h>
+#endif
#include <linux/version.h>
/*
* some older kernels don't have this and thus don't
diff --git a/backport/backport-include/linux/netdevice.h b/backport/backport-include/linux/netdevice.h
index c3e91a0c..4b1fddff 100644
--- a/backport/backport-include/linux/netdevice.h
+++ b/backport/backport-include/linux/netdevice.h
@@ -344,7 +344,7 @@ static inline void netif_trans_update(struct net_device *dev)
(_dev)->needs_free_netdev = true;
#endif
-#if LINUX_VERSION_IS_LESS(4,15,0)
+#if LINUX_VERSION_IN_RANGE(3,10,0, 4,14,0)
static inline int _bp_netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev)
{
diff --git a/backport/backport-include/linux/of_device.h b/backport/backport-include/linux/of_device.h
index 2178a338..827c7fb1 100644
--- a/backport/backport-include/linux/of_device.h
+++ b/backport/backport-include/linux/of_device.h
@@ -24,8 +24,10 @@ static inline int backport_of_dma_configure(struct device *dev,
#endif /* < 4.18 */
#if LINUX_VERSION_IS_LESS(4,12,0)
+#if LINUX_VERSION_IS_GEQ(4,4,0)
ssize_t bp_of_device_modalias(struct device *dev, char *str, ssize_t len);
#define of_device_modalias bp_of_device_modalias
+#endif /* > 4.4.0 */
#endif /* < 4.12 */
#endif /* __BP_OF_DEVICE_H */
diff --git a/backport/backport-include/linux/pci.h b/backport/backport-include/linux/pci.h
index 3a141bf3..42b3dc53 100644
--- a/backport/backport-include/linux/pci.h
+++ b/backport/backport-include/linux/pci.h
@@ -17,6 +17,9 @@
pci_unregister_driver)
#endif
+#if LINUX_VERSION_IS_LESS(3,4,0)
+void pci_stop_and_remove_bus_device(struct pci_dev *dev);
+#endif
#if LINUX_VERSION_IS_LESS(3,7,0)
#define pcie_capability_read_word LINUX_BACKPORT(pcie_capability_read_word)
int pcie_capability_read_word(struct pci_dev *dev, int pos, u16 *val);
@@ -60,6 +63,8 @@ static inline int pcie_capability_clear_dword(struct pci_dev *dev, int pos,
{
return pcie_capability_clear_and_set_dword(dev, pos, clear, 0);
}
+
+int pci_pcie_type(struct pci_dev *dev);
#endif
#ifndef PCI_DEVICE_SUB
diff --git a/backport/backport-include/linux/random.h b/backport/backport-include/linux/random.h
index 7d817d8b..fa016cce 100644
--- a/backport/backport-include/linux/random.h
+++ b/backport/backport-include/linux/random.h
@@ -12,7 +12,9 @@ static inline void add_device_randomness(const void *buf, unsigned int size)
}
#endif
-#if LINUX_VERSION_IS_LESS(3,8,0)
+/* #if LINUX_VERSION_IS_LESS(3,8,0) */
+/* already backported in our kernels */
+#if 0
/* backports 496f2f9 */
#define prandom_seed(_seed) srandom32(_seed)
#define prandom_u32() random32()
diff --git a/backport/backport-include/linux/suspend.h b/backport/backport-include/linux/suspend.h
new file mode 100644
index 00000000..60307182
--- /dev/null
+++ b/backport/backport-include/linux/suspend.h
@@ -0,0 +1,14 @@
+#ifndef __BP_LINUX_SUSPEND_H
+#define __BP_LINUX_SUSPEND_H
+#include_next <linux/suspend.h>
+
+#if LINUX_VERSION_IS_LESS(3,18,0)
+static inline void pm_system_wakeup(void)
+{
+#if LINUX_VERSION_IS_GEQ(3,10,0)
+ freeze_wake();
+#endif
+}
+#endif
+
+#endif /* __BP_LINUX_SUSPEND_H */
diff --git a/backport/backport-include/linux/thermal.h b/backport/backport-include/linux/thermal.h
index 8874e196..ad61a90a 100644
--- a/backport/backport-include/linux/thermal.h
+++ b/backport/backport-include/linux/thermal.h
@@ -6,6 +6,40 @@
#ifdef CONFIG_THERMAL
#if LINUX_VERSION_IS_LESS(3,8,0)
#include <linux/errno.h>
+#include <linux/err.h>
+
+enum thermal_trend {
+ THERMAL_TREND_STABLE, /* temperature is stable */
+ THERMAL_TREND_RAISING, /* temperature is raising */
+ THERMAL_TREND_DROPPING, /* temperature is dropping */
+ THERMAL_TREND_RAISE_FULL, /* apply highest cooling action */
+ THERMAL_TREND_DROP_FULL, /* apply lowest cooling action */
+};
+
+struct backport_thermal_zone_device_ops {
+ int (*bind) (struct thermal_zone_device *,
+ struct thermal_cooling_device *);
+ int (*unbind) (struct thermal_zone_device *,
+ struct thermal_cooling_device *);
+ int (*get_temp) (struct thermal_zone_device *, int *);
+ int (*get_mode) (struct thermal_zone_device *,
+ enum thermal_device_mode *);
+ int (*set_mode) (struct thermal_zone_device *,
+ enum thermal_device_mode);
+ int (*get_trip_type) (struct thermal_zone_device *, int,
+ enum thermal_trip_type *);
+ int (*get_trip_temp) (struct thermal_zone_device *, int, int *);
+ int (*set_trip_temp) (struct thermal_zone_device *, int, int);
+ int (*get_trip_hyst) (struct thermal_zone_device *, int, int *);
+ int (*set_trip_hyst) (struct thermal_zone_device *, int, int);
+ int (*get_crit_temp) (struct thermal_zone_device *, int *);
+ int (*set_emul_temp) (struct thermal_zone_device *, int);
+ int (*get_trend) (struct thermal_zone_device *, int,
+ enum thermal_trend *);
+ int (*notify) (struct thermal_zone_device *, int,
+ enum thermal_trip_type);
+};
+#define thermal_zone_device_ops LINUX_BACKPORT(thermal_zone_device_ops)
struct thermal_bind_params {
struct thermal_cooling_device *cdev;
diff --git a/backport/backport-include/linux/timekeeping.h b/backport/backport-include/linux/timekeeping.h
index 71871531..a0d65fba 100644
--- a/backport/backport-include/linux/timekeeping.h
+++ b/backport/backport-include/linux/timekeeping.h
@@ -8,6 +8,11 @@
#endif
#if LINUX_VERSION_IS_LESS(3,17,0)
+#if BITS_PER_LONG < 64
+extern u64 ktime_divns(const ktime_t kt, s64 div);
+#else /* BITS_PER_LONG < 64 */
+# define ktime_divns(kt, div) (u64)((kt).tv64 / (div))
+#endif
#define ktime_get_ns LINUX_BACKPORT(ktime_get_ns)
extern ktime_t ktime_get(void);
#define ktime_get_ns LINUX_BACKPORT(ktime_get_ns)