diff options
author | Dominik Sliwa <dominik.sliwa@toradex.com> | 2017-11-21 16:35:43 +0000 |
---|---|---|
committer | Dominik Sliwa <dominik.sliwa@toradex.com> | 2018-09-18 13:01:26 +0200 |
commit | d6a47bfb72f495a72637fbe635220f6af0f4cb6f (patch) | |
tree | 599ca63f39f31243e55a7a62df8c98fd40e308de /backport-include | |
parent | a5867d9e1f9f8096480104d80f9a8088dbde9209 (diff) |
backports:Backports for tegra 3.1 and 3.10 kernels
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Diffstat (limited to 'backport-include')
-rw-r--r-- | backport-include/linux/export.h | 4 | ||||
-rw-r--r-- | backport-include/linux/kernel.h | 2 | ||||
-rw-r--r-- | backport-include/linux/netdevice.h | 2 | ||||
-rw-r--r-- | backport-include/linux/pci.h | 5 | ||||
-rw-r--r-- | backport-include/linux/random.h | 4 | ||||
-rw-r--r-- | backport-include/linux/suspend.h | 14 | ||||
-rw-r--r-- | backport-include/linux/thermal.h | 34 | ||||
-rw-r--r-- | backport-include/linux/timekeeping.h | 5 | ||||
-rw-r--r-- | backport-include/trace/ftrace.h | 3 |
9 files changed, 68 insertions, 5 deletions
diff --git a/backport-include/linux/export.h b/backport-include/linux/export.h index 6f6cb6a..a3c7799 100644 --- a/backport-include/linux/export.h +++ b/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-include/linux/kernel.h b/backport-include/linux/kernel.h index f508166..332f153 100644 --- a/backport-include/linux/kernel.h +++ b/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-include/linux/netdevice.h b/backport-include/linux/netdevice.h index 8723f8c..89f5ea3 100644 --- a/backport-include/linux/netdevice.h +++ b/backport-include/linux/netdevice.h @@ -334,7 +334,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-include/linux/pci.h b/backport-include/linux/pci.h index 67ac40f..59d1656 100644 --- a/backport-include/linux/pci.h +++ b/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-include/linux/random.h b/backport-include/linux/random.h index 7d817d8..fa016cc 100644 --- a/backport-include/linux/random.h +++ b/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-include/linux/suspend.h b/backport-include/linux/suspend.h new file mode 100644 index 0000000..6030718 --- /dev/null +++ b/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-include/linux/thermal.h b/backport-include/linux/thermal.h index 8874e19..ad61a90 100644 --- a/backport-include/linux/thermal.h +++ b/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-include/linux/timekeeping.h b/backport-include/linux/timekeeping.h index 56c3dee..602f4c2 100644 --- a/backport-include/linux/timekeeping.h +++ b/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) diff --git a/backport-include/trace/ftrace.h b/backport-include/trace/ftrace.h index 2daedd5..756ded3 100644 --- a/backport-include/trace/ftrace.h +++ b/backport-include/trace/ftrace.h @@ -9,5 +9,6 @@ #undef __get_dynamic_array_len #define __get_dynamic_array_len(field) \ ((__entry->__data_loc_##field >> 16) & 0xffff) - +#if LINUX_VERSION_IS_GEQ(3,2,0) #include_next <trace/ftrace.h> +#endif |