summaryrefslogtreecommitdiff
path: root/backport/backport-include
AgeCommit message (Collapse)Author
2018-03-21header: netdevice.h: Fix netdev_upper_dev_link on 4.14Hauke Mehrtens
Commit 42ab19ee90292 ("net: Add extack to upper device linking") which added an extra parameter to netdev_upper_dev_link() was added with kernel 4.15 and was not backported to kernel 4.14, activate this backport already for kernel 4.14. Fixes: 8cdd85766293 ("backports: add netdev_upper_dev_link() extack argument") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-21header: timekeeping.h: Add ktime_get_ts64()Hauke Mehrtens
This function was added in commit d6d29896c665d ("timekeeping: Provide timespec64 based interfaces"). We can just use the 32 bit version instated as the rest was already backported in backports commit ea8b7cd797ca0c ("backports: deal with struct timespec64 changes)". Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-21header: timekeeping.h: Add ktime_get_real_seconds()Hauke Mehrtens
This function was added in commit dbe7aa622db96b ("timekeeping: Provide y2038 safe accessor to the seconds portion of CLOCK_REALTIME") and is used by multiple realtek drivers. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-21header: nospec.h: provide dummy header fileHauke Mehrtens
Older kernel versions do not have the include linux/nospec.h with the function array_index_nospec, provide a dummy implementation for these kernel versions and forward the call the the real version for capable kernel versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-21header: debugfs.h: add DEFINE_DEBUGFS_ATTRIBUTEHauke Mehrtens
DEFINE_DEBUGFS_ATTRIBUTE and debugfs_create_file_unsafe() were introduced in mainline commit c6468808149 ("debugfs: add support for self-protecting attribute file fops"), but on older kernel versions where we do not have this extra security in debugfs we can use the older functions instead. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-21header: kernel.h: include bug.hHauke Mehrtens
This prevents some compile problems in rtlwifi. Without this patch I am getting a compile error in drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c with multiple kernel versions because BUILD_BUG_ON_ZERO is implicitly defined. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-21header: types.h: add __poll_tHauke Mehrtens
__poll_t was added for kernel 4.15 in commit 8ced390c2b ("define __poll_t, annotate constants"), add it here for older kernel versions. Multiple drivers are using this type. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-21backport: poll.h: add include linux/eventpoll.hHauke Mehrtens
The POLL constants are getting replaced with the EPOLL constants. In this process commit e78cd95bebd9 ("preparation to switching ->poll() to returning EPOLL...") added an additional include to linux/poll.h. Some drivers make use of this indirect include now and fail to compile without it. Older kernel versions do not define all the EPON constants so add them if they are not available. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-03-21compat: timer.h: Remove last parameters from DEFINE_TIMERHauke Mehrtens
DEFINE_TIMER only has 2 parameters since kernel commit 1d27e3e2252ba ("timer: Remove expires and data arguments from DEFINE_TIMER") which was added with kernel 4.15. Add a version which translates between the new and the old API. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-02-28backport: move percpu.h file to the correct locationLuca Coelho
Mistakenly, the percpu.h file was added to a new backport-include directory at the root. It should be in the proper location at backport/backport-include instead. Fix that. Fixes: a4c44dbee35d ("backport: implement alloc_percpu_gfp() for < 3.18.") Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-02-23backports: fix typo "TIMKEEPING" and fix gfp.hLuca Coelho
There is a typo in the timekeeping.h backport, fix that. Additionally, fix the gfp.h file tha has a copy/paste issue where __BACKPORT_TIMKEEPING_H is used instead of __BACKPORT_LINUX_GFP_H. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-02-23backport: add new build_bug.h fileLuca Coelho
Some of the code in bug.h was moved into a new build_bug.h file. Add a backport that includes bug.h in the case of older kernels. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-02-23backport: update genl_dump_check_consistent() backportLuca Coelho
The genl_dump_check_consistent() function was changed in v4.15 to use only two arguments. The family is not needed anymore, because we were erroneously subtracting the header size and that was fixed in v4.15. Since the family was only used to check the header size, we can create a dummy with hdrsize = 0, which will allow us to call the old version of the function. There is a good side-effect to doing this: the bug is going to be fixed, because with hdrsize = 0 we will not subtract anything and it will have the same effect as the fix. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-02-23backport: include lib/bucket_locks.cLuca Coelho
The alloc/free_bucket_spinlocks() functions were moved to a new lib file, namely bucket_locks.c. Add an auto-backport for the bucket_locks.c file and move the patching of the code that moved from rhashtable to bucket_locks.c. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-02-23backport: add pcie_find_root_port()Luca Coelho
This function was introduced in v4.9 and added to 3.12.69, 4.4.37 and 4.8.13. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-02-23compat: only define thermal backports if CONFIG_THERMAL is enabledLuca Coelho
If CONFIG_THERMAL is not enabled, we don't have to add all backports for the thermal framework. Actually this doesn't even work because we try to use thermal_zone_device_register/unregister and they are not present in the outer kernel, causing undefined symbols warnings: WARNING: "thermal_zone_device_register" [/home/luca/iwlwifi/stack-dev/compat/compat.ko] undefined! WARNING: "thermal_zone_device_unregister" [/home/luca/iwlwifi/stack-dev/compat/compat.ko] undefined! Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-11-17backports: fix missing linux/verification.h error on < 4.7Felix Fietkau
Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-11-17backport-include: backport skb_get_hash_perturbFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-24backports: fix the extack backportJohannes Berg
I neglected to take into account that the spatch will also be applied to the backport-4.12.c file itself, fix that. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-17backports: fully add netlink extack for generic netlinkJohannes Berg
The previous backport just made the code compatible, but removed the extack functionality entirely. By ignoring the setsockopt() and just assuming that userspace does in fact support extack (which is true for all of wifi and in fact all users of libnl), we can support full extack functionality even on kernels that don't support it. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-13backports: add fixed version of __verify_pcpu_ptrJohannes Berg
Some parts of the code (ath_cmn_is_fft_buf_full) use a per-CPU pointer to an array, so we need to backport the fixed version or this fails to compile in 3.10/3.11. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-13backports: add netdev_upper_dev_link() extack argumentJohannes Berg
But make it optional (using magic.h) to let this still work on kernels that didn't change the argument. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-13backports: add signature verification codeJohannes Berg
Uh, this was awful. Because the crypto/ things are completely impossible to backport, I've actually implemented this by using mbedtls and embedding the relevant functions it has... The mbedtls code is taken from mbedtls version 2.6.0 and only minimally modified (mostly to remove <string.h> and similar). Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-13backports: add bin2hex()Johannes Berg
This is needed in the key backports in the next patch. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-13backports: add hex_byte_packJohannes Berg
This was just renamed at some point, needed by bin2hex() in the next patch. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-13backports: add mktime64()Johannes Berg
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-11backports: add crypto_memneq()Johannes Berg
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-11backports: add OPTIMIZER_HIDE_VARJohannes Berg
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-11backports: backport from_timer() and timer_setup()Johannes Berg
These are needed for Kees's new timer API, and luckily he already provided them for conversion purposes :-) Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-10-05header: fix compile error on PowerPC (PPC_85xx)Hauke Mehrtens
Including linux/interrupt.h in linux/hrtimer.h causes this error message on PowerPC builds on x86, ARM and MIPS it works: CC [M] /backports-4.14-rc2-1/compat/main.o In file included from /backports-4.14-rc2-1/backport-include/linux/printk.h:5:0, from ./include/linux/kernel.h:13, from /backports-4.14-rc2-1/backport-include/linux/kernel.h:3, from ./include/linux/list.h:8, from /backports-4.14-rc2-1/backport-include/linux/list.h:3, from ./include/linux/module.h:9, from /backports-4.14-rc2-1/backport-include/linux/module.h:3, from /backports-4.14-rc2-1/compat/main.c:1: ./include/linux/ratelimit.h: In function 'ratelimit_state_exit': ./include/linux/ratelimit.h:62:11: error: dereferencing pointer to incomplete type 'struct task_struct' current->comm, rs->missed); ^ ./include/linux/printk.h:279:37: note: in definition of macro 'pr_warning' printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) ^ ./include/linux/ratelimit.h:61:3: note: in expansion of macro 'pr_warn' pr_warn("%s: %d output lines suppressed due to ratelimiting\n", ^ The backport of the hrtimer_start() functions needs the linux/interrupt.h because some parts are defined there. Fix this by moving the hrtimer_start() backport to the linux/interrupt.h backport header file. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-21header: add ether_addr_to_u64() and u64_to_ether_addr()v4.14-rc2-1Hauke Mehrtens
These function were added in commit 5952758101 ("dsa: mv88e6xxx: Optimise atu_get") and are now used by mwifiex. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-21header: add UUID_STRING_LENHauke Mehrtens
This was added in commit 2b1b0d6670 ("lib/uuid.c: introduce a few more generic helpers") and is used by ath10k. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-21header: add uuid backportsHauke Mehrtens
This backports the following upstream commits: f9727a17db9: ("uuid: rename uuid types") df33767d9fe: ("uuid: hoist helpers uuid_equal() and uuid_copy() from xfs") ath10k now makes use of them. Some parts should go into the uapi/linux/uuid.h file, but then #include_next hack is not working correctly any more, so place it all into the normal file. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-15backports: remove pm_system_wakeup(), add MWIFIEX dependencyJohannes Berg
Since only MWIFIEX needs pm_system_wakeup(), and that can't be backported properly, remove it again and add a dependency for MWIFIEX on kernel 3.18. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-11backports: add devm_add_action()Johannes Berg
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-11header: add pm_system_wakeup()Hauke Mehrtens
This function was added in kernel 3.18 in commit 068765ba7987e ("PM / sleep: Mechanism for aborting system suspends unconditionally") In our implementation we only call pm_system_wakeup(() and do not handle the abortion of the current suspend process. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-11header: add __get_dynamic_array_lenHauke Mehrtens
This was added in kernel 3.16 in commit beba4bb096201 ("tracing: Add __get_dynamic_array_len() macro for trace events") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-11header: add IOMEM_ERR_PTR()Hauke Mehrtens
This was added in kernel 3.17 in commit efd342fb0031a1 ("of: Provide a function to request and map memory") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-11patches: brcmfmac: Fix netdev_set_priv_destructorHauke Mehrtens
On kernel > 4.11.9 the new member priv_destructor should be set in netdev_set_priv_destructor() and not the old destructor member any more, it was removed. This fixes the build on >= 4.11.9. Fixes: 7c827d5ac9c1 ("patches: brcmfmac: fix netdev destructor") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-08headers: atomic: add atomic_try_cmpxchg()Johannes Berg
This is needed for the refcount code. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-08change protection of module_param_hw_arrayJohannes Berg
Some (distro) kernels backported this, so simply protect the backport definition with #ifndef. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-08header: acpi: fix version commentJohannes Berg
I intended to not even apply the patch, but did anyway... Fix the comment now. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-06header: add dma_wmb()Hauke Mehrtens
This is used by the qtnfmac driver. This was added in commit 1077fa36f23e259 ("arch: Add lightweight memory barriers dma_rmb() and dma_wmb()") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-06header: add offsetofend()Hauke Mehrtens
offsetofend() was moved from vfio.h to stddef.h in commit 3876488444e7123 ("include/stddef.h: Move offsetofend() from vfio.h to a generic kernel header") for kernel 4.1. Add it again to stddef.h so it is available in more include paths. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-06backport: add __print_array()Hauke Mehrtens
This is used in the tracing system and needed by wireless now, it was introduced in commit 6ea22486ba46bc ("tracing: Add array printing helper"). This code is copied from kernel 4.0. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-06header: rename wait_queue_entry_t to wait_queue_tHauke Mehrtens
In kernel 4.13 wait_queue_t was renamed to wait_queue_entry_t, reverse this for older kernel versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-06header: add get_random_u32()Hauke Mehrtens
This was renamed in upstream kernel and changed from unsigned int to u32. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-06header: backport devm_acpi_dev_add_driver_gpios()Hauke Mehrtens
This is used by some NFC drivers to get information from the ACPI. This was added in kernel 4.13, but backporting it to older kernel versions than 3.19 is hard because such old kernel versions do not even have struct acpi_gpio_mapping. This only adds the empty version of this function as this normally needed some extra support in the generic ACPI code and I do not care about this functionality. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-06header: add module_param_hw_array()Hauke Mehrtens
This macro is used for some module parameters. This hwtype was newly introduced for module parameters in kernel 4.12, just ignore it on older kernel versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-06header: backport mii_ethtool_{get,set}_link_ksettings()Hauke Mehrtens
This function was added in kernel 4.10 and is needed by the usbnet drivers. These functions were added in upstream commit: bc8ee596afe8f3 ("net: mii: add generic function to support ksetting support") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>