summaryrefslogtreecommitdiff
path: root/backport/backport-include/linux
AgeCommit message (Collapse)Author
2018-09-25backports: Add 3. parameter to of_dma_configure()Hauke Mehrtens
With commit 3d6ce86ee794 ("drivers: remove force dma flag from buses") in kernel 4.18 of_dma_configure() got the extra parameter force_dma. This is backported by setting the force_dma member which was added in commit d89e2378a97f ("drivers: flag buses which demand DMA configuration") in kernel 4.15. In older kernel versions we just ignore this parameter as the of_dma_configure() function internally takes care of setting this correctly. Since commit 7b07cbefb68d ("iommu: of: Handle IOMMU lookup failure with deferred probing or error") in kernel 4.12 this function returns int and not void any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24Revert "backports: Remove ssb and bcma"Johannes Berg
This reverts commit 1b4e6ad4d927c7998fa578f2d29e0c4ec01a9217. Said commit broke b43 on older kernels (<3.16). Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24backports: add kmemleak.hJohannes Berg
This is just a forward include, but earlier versions don't include linux/types.h despite relying on it. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24backport: add ktime_get_raw_ts64() backport for < 3.19Luca Coelho
The getrawmonotonic64() function that is used by the ktime_get_raw_ts64() backport was only introduced in 3.19. To fix compilation with earlier kernels, do the convertion from getrawmonotonic() manually if the kernel is < 3.19. Additionally, add timespec_to_timespec64() that we need for this conversion (and which was only introduced in 3.17). Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24backports: Remove ssb and bcmaHauke Mehrtens
Use the versions shipped with the kernel instead. bcma and ssb didn't change much in the last few years, most of the changes were related to code only used on embedded devices. Removing this reduces the number of parts we have to backport. b43, b43legacy and brcmsmac work well with the in kernel version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24backports: add __alloc_bucket_spinlocks() for < 4.19Luca Coelho
Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24backports: improve skb->xmit_more handlingJohannes Berg
Replace the existing skb->xmit_more semantic patch rule with a more generic one that uses a helper inline function. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24backport: update u64_stats_init() to a new version in kernels < 4.2Luca Coelho
The u64_stats_init() macro was turned into a static inline function in v4.2 to prevent warnings that happen when its argument is not used elsewhere. Since we started hitting these warnings, undefine the macro and define the static inline to prevent them. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24backport: make ktime_get_boottime_seconds() non-inlineLuca Coelho
With kernels < 3.17, we need to include hrtimer.h to get ktime_divns() for the ktime_get_boottime_seconds() backport. But we can't just include htrtimer.h in the backport timekeeping.h because we run into some cyclical inclusions that cause problems. To solve that make ktime_get_boottime_seconds() non-inline and add it to a new backport-4.18.c file. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24backport: prevent unused subclass variable warning in < 3.18Luca Coelho
In kernels earlier than 3.18, the raw_spin_lock defininition when CONFIG_DEBUG_LOCK_ALLOC is not enabled, was dropping one of the parameters, which caused a few "unused variable" warnings at places where this argument was only used in the call to raw_spin_lock_nested(). Take the latest definition which evaluates the argument to avoid compiler warnings. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24backport: introduce match_string() for kernels < 4.6Luca Coelho
This function was introduced in v4.6 and now the iwlwifi driver uses it. Add the function for kernels older than v4.6. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24backports: add wait_event_killable_timeout backport supportShahar S Matityahu
Allow using wait_event_killable_timeout function in kernel older then 4.13 Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-24backports: add strreplace()Winnie Chang
wireless-drivers-next.git commit cb18e2e9ec71 (brcmfmac: fix wrong strnchr usage) used strreplace(), which is not available in kernel prior to v4.2. Before this commit proprgates to linux-stable.git, add strreplace() to avoid gentree failure. Signed-off-by: Winnie Chang <winnie.chang@cypress.com> Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-19header: Add ktime_get_raw_ts64()Hauke Mehrtens
ktime_get_raw_ts64() uses the old function which was renamed. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> [fix typo in commit message] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-19header: Add u64_stats_update_{begin,end}_irqsave()Hauke Mehrtens
These functions are currently used by the usbnet driver. These functions were introduced in upstream commit 2695578b896ae ("net: usbnet: fix potential deadlock on 32bit hosts") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-19header: Add NL_SET_BAD_ATTRHauke Mehrtens
This is used by the mac80211_hwsim driver. The code was copied from the mainline kernel. This was introduced in mainline kernel commit c3ab2b4ec8f7 ("net: ipv4: Add extack messages for route add failures") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-19header: Add kvzalloc()Hauke Mehrtens
This adds the kvzalloc() function and allows it to remove the lib-rhashtable.patch patch. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> [fix commit message kzalloc -> kvzalloc] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-19backports: Remove unused partsHauke Mehrtens
This removes parts which were only used by subsystems which are not included in backports any more, for example media, bluetooth and Ethernet. The patches which are removed in this commit are not applied to the kernel tree anyway with the default configuration because non of the files get copied. The freezer, media, regulator and sound parts were only used by the already removed media drivers. The flow dissector file is not copied any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-10backports: backport sg_init_marker()Felix Fietkau
It is used by new mt76 changes Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-10backport: add firmware_request_nowarn and firmware_request_cacheFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-10backport-include: backport ktime_get_boottime_secondsFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-09-10backport-include: backport kvmalloc and kvmalloc_arrayFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2018-05-02backport-include: add ETH_P_PREAUTH definition in if_ether.hArend Van Spriel
This macro definition was added in 4.17-rc1 and used by mac80211 so add it to backport. Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
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: 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>