summaryrefslogtreecommitdiff
path: root/backport/backport-include/linux
AgeCommit message (Collapse)Author
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: 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 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 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 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>
2017-09-06header: skbuff: fix signature of skb_put(), skb_push() and __skb_push()Hauke Mehrtens
In older kernel versions these functions returned a unsigned char*, now they return a void *. This change was done in upstream commit d58ff35122847a8 ("networking: make skb_push & __skb_push return void pointers") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-06header: skbuff: add skb_put_zero(), skb_put_data() and skb_put_u8()Hauke Mehrtens
These functions were added in kernel 4.13 and are used by many driver now. This was added in the following upsteram comits: e45a79da863c19 ("skbuff/mac80211: introduce and use skb_put_zero()") 59ae1d127ac0ae ("networking: introduce and use skb_put_data()") 634fef61076d64 ("networking: add and use skb_put_u8()") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-09-06backport: fix netdev destructor backport for v4.11.9Luca Coelho
The patch that changed the netdev destructor code was backported to v4.11.9, so handle that in the backport. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-07-28backport: fix netdev destructor backportLuca Coelho
The commit that changed the netdev destructor was also applied in v4.12-rc6, so we need to update the backport. Another issue was that when the default free_netdev() destructor was supposed to be used, we would get compilation errors, such as this one in hwsim: In file included from ./include/net/dst.h:12:0, from /home/luca/iwlwifi/stack-dev/drivers/net/wireless/mac80211_hwsim.c:22: /home/luca/iwlwifi/stack-dev/drivers/net/wireless/mac80211_hwsim.c: In function hwsim_mon_setup': /home/luca/iwlwifi/stack-dev/backport-include/linux/netdevice.h:325:23: error: '__free_netdev' undeclared (first use in this function) (_dev)->destructor = __ ## _destructor ^ /home/luca/iwlwifi/stack-dev/drivers/net/wireless/mac80211_hwsim.c:2977:2: note: in expansion of macro 'netdev_set_priv_destructor' netdev_set_priv_destructor(dev, free_netdev); ^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/luca/iwlwifi/stack-dev/backport-include/linux/netdevice.h:325:23: note: each undeclared identifier is reported only once for each function it appears in (_dev)->destructor = __ ## _destructor ^ /home/luca/iwlwifi/stack-dev/drivers/net/wireless/mac80211_hwsim.c:2977:2: note: in expansion of macro 'netdev_set_priv_destructor' netdev_set_priv_destructor(dev, free_netdev); ^~~~~~~~~~~~~~~~~~~~~~~~~~ scripts/Makefile.build:300: recipe for target '/home/luca/iwlwifi/stack-dev/drivers/net/wireless/mac80211_hwsim.o' failed To fix this, add a new macro, netdev_set_def_destructor(), that handles this special case. Change-Id: Ifcf1f19690487aee67e776b5700ff496c779e86c Fixes: 721ae78f9355 ("backport: handle change in netdevice destructor usage") Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-06-30backport: handle change in netdevice destructor usageArend Van Spriel
This patch deals with changes made in struct net_device by commit cf124db566e6 ("net: Fix inconsistent teardown and release of private netdev state."). Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-06-16backports: add lockdep_rtnl_is_held() for < 3.13 without CONFIG_PROVE_LOCKINGLuca Coelho
In kernels earlier than 3.13, lockdep_rtnl_is_held() is only declared in rtnetlink.h when CONFIG_PROVE_LOCKING is not set. Backport this function if that's the case. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-04-26backports: add the necessary backports for netlink extackJohannes Berg
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-03-31backports: provide backport for setup_deferrable_timer()Arend Van Spriel
Since commit f8f118ceaa56 ("mac80211: Use setup_timer instead of init_timer") mac80211 needs setup_deferrable_timer() which is not available in older kernels. Provide a backport in linux/timer.h. Really need two flavors of backport to support up to 3.0 kernel. Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-03-31backports: add dummy include/linux/sched/signal.hArend Van Spriel
Simply including linux/sched.h for older kernels not carrying this file. This new include file was introduced by commit 3f07c0144132 ("sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h>"). Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-03-31backports: copy average.h from original kernelJohannes Berg
Instead of maintaining our own version of average.h, just copy the upstream version while generating the backport. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-03-31backports: add backport for idr_removeArend Van Spriel
Since commit d3e709e63e97 ("idr: Return the deleted entry from idr_remove") the function signature changed so provide a backport which does a idr_find() and subsequent idr_remove(). Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2017-02-23backports: add definitions S32_MAX and S32_MINArend Van Spriel
Since commit 20e32810bcf4 ("cfg80211: Accept multiple RSSI thresholds for CQM") the backports need to have S32_MAX and S32_MIN which were introduced in kernel.h since v3.14. Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>