Age | Commit message (Collapse) | Author |
|
DMA_ATTR_SKIP_CPU_SYNC was added to the enum with kernel 3.6. This
patch removes all calls to dma_set_attr() with this value on
kernel < 3.6.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
* The vb2_vmalloc_get_dmabuf() function does not work on kernel < 3.5.
* v4l2_m2m_ioctl_expbuf() is disabled on kernel < 3.5, do not call it.
* deactivate dmabuf support in videobuf2-dma-sg.c
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This feature is not support with older kernels, just deactivate it.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
When coredump was included in the kernel backports is build against
then it could be that the prototype are used, which caused a undefined
references linking problem. This patch fixes the problem by only using
this when the driver is actually compiled in.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This is needed by igb driver.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This new functions is used by ath9k.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This backport is only needed for kernel < 3.1.
Backporting drain_workqueue() is too hard so we just flush the
workqueue which should work in most cases. This could still cause
problems in some situation.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
when we do not include the original version of dma-buf.h, some other
header files should be included because some media drivers are
expecting this now.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
of_find_compatible_node() is not defined when CONFIG_OF is not set on
kernel < 3.3.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This was added in kernel 3.19.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
for_each_compatible_node() is defined in a CONFIG_OF condition on older
kernel versions. Now some drivers are use it when CONFIG_OF is not set,
add it always when it is not already there.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This required no manual changes.
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py \
/home/mcgrof/linux-next /home/mcgrof/build/backports-20141117
Copy original source files ...
Applying patches from patches to /home/mcgrof/build/backports-20141117
...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m28.499s
user 13m25.112s
sys 0m47.804s
mcgrof@drvbp1 ~/build/backports-20141117 $ time \
/home/mcgrof/backports/devel/ckmake --allyesconfig
1 3.0.101 [ OK ]
2 3.1.10 [ OK ]
3 3.2.62 [ OK ]
4 3.3.8 [ OK ]
5 3.4.104 [ OK ]
6 3.5.7 [ OK ]
7 3.6.11 [ OK ]
8 3.7.10 [ OK ]
9 3.8.13 [ OK ]
10 3.9.11 [ OK ]
11 3.10.58 [ OK ]
12 3.11.10 [ OK ]
13 3.12.31 [ OK ]
14 3.13.11 [ OK ]
15 3.14.22 [ OK ]
16 3.15.10 [ OK ]
17 3.16.6 [ OK ]
18 3.17.1 [ OK ]
19 3.18-rc1 [ OK ]
real 42m18.874s
user 1179m40.500s
sys 138m54.452s
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|
|
netdev_rss_key_fill() uses net_get_random_once() and since
this depends on static keys and we've decided to only backport
that only down to 3.5 as that is when static key stuff settled we
only backport netdev_rss_key_fill() down to 3.5 as well. For details
on the net_get_random_once() / static key stuff refer to backports
commit 8cb8816d.
Backporting netdev_rss_key_fill requires us to throw in the
netdev_rss_key within our own backports module. We don't backport
the ability to query this *yet though*, but if we really wanted to
we can provide an interface for that:
For *packaging* [0] we have no other option but to currently provide
our own querying interface, that's silly though, in the future
if we extend sysctl interfaces to allow dynamic extensions we
could just peg what we need also within the backports module to
allow seemless integration. With shiny new *kernel integration*
support [1] though we can enable cherry picking the sysctl components,
and apply it to the older kernel -- however this would pose a change
in compartamentalized backporting strategy as currently used. It would
seem a allowing dynamic extensions to an existing sysctl interface
would be more efficient and would allow packaging to also take
advantage of this effort.
[0] https://backports.wiki.kernel.org/index.php/Documentation/packaging
[1] https://backports.wiki.kernel.org/index.php/Documentation/integration
commit 960fb622f85180f36d3aff82af53e2be3db2f888
Author: Eric Dumazet <edumazet@google.com>
Date: Sun Nov 16 06:23:05 2014 -0800
net: provide a per host RSS key generic infrastructure
RSS (Receive Side Scaling) typically uses Toeplitz hash and a 40 or 52 bytes
RSS key.
Some drivers use a constant (and well known key), some drivers use a random
key per port, making bonding setups hard to tune. Well known keys increase
attack surface, considering that number of queues is usually a power of two.
This patch provides infrastructure to help drivers doing the right thing.
netdev_rss_key_fill() should be used by drivers to initialize their RSS key,
even if they provide ethtool -X support to let user redefine the key later.
A new /proc/sys/net/core/netdev_rss_key file can be used to get the host
RSS key even for drivers not providing ethtool -x support, in case some
applications want to precisely setup flows to match some RX queues.
Tested:
myhost:~# cat /proc/sys/net/core/netdev_rss_key
11:63:99:bb:79:fb:a5:a7:07:45:b2:20:bf:02:42:2d:08:1a:dd:19:2b:6b:23:ac:56:28:9d:70:c3:ac:e8:16:4b:b7:c1:10:53:a4:78:41:36:40:74:b6:15:ca:27:44:aa:b3:4d:72
myhost:~# ethtool -x eth0
RX flow hash indirection table for eth0 with 8 RX ring(s):
0: 0 1 2 3 4 5 6 7
RSS hash key:
11:63:99:bb:79:fb:a5:a7:07:45:b2:20:bf:02:42:2d:08:1a:dd:19:2b:6b:23:ac:56:28:9d:70:c3:ac:e8:16:4b:b7:c1:10:53:a4:78:41
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py \
/home/mcgrof/linux-next /home/mcgrof/build/backports-20141117
Copy original source files ...
Applying patches from patches to /home/mcgrof/build/backports-20141117
...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m28.499s
user 13m25.112s
sys 0m47.804s
mcgrof@drvbp1 ~/build/backports-20141117 $ time \
/home/mcgrof/backports/devel/ckmake --allyesconfig
1 3.0.101 [ OK ]
2 3.1.10 [ OK ]
3 3.2.62 [ OK ]
4 3.3.8 [ OK ]
5 3.4.104 [ OK ]
6 3.5.7 [ OK ]
7 3.6.11 [ OK ]
8 3.7.10 [ OK ]
9 3.8.13 [ OK ]
10 3.9.11 [ OK ]
11 3.10.58 [ OK ]
12 3.11.10 [ OK ]
13 3.12.31 [ OK ]
14 3.13.11 [ OK ]
15 3.14.22 [ OK ]
16 3.15.10 [ OK ]
17 3.16.6 [ OK ]
18 3.17.1 [ OK ]
19 3.18-rc1 [ OK ]
real 42m18.874s
user 1179m40.500s
sys 138m54.452s
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|
|
This driver depends on gpio consumer.h, that depends on some
built-in kernel functionality and while we can now backport
built-in stuff we'd need to make that depend on BACKPORT_INTEGRATE
and then figure out how to backport that functionality on integration.
This doesn't seem like a good candidate to test that with though.
Let's wait for something more desirable.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|
|
The new file media-bus-format.h was derived from contents from
v4l2-mediabus.h, this change might be a bit harder to infer
exactly what to do but based on some contextual examination of
the file, if content integrity has not changed it should be
relatively easy to infer what to do with changes like this.
commit edcf58bc031e621f519c9dfce3c7e1ea6880c70a
Author: Boris BREZILLON <boris.brezillon@free-electrons.com>
Date: Mon Nov 10 14:28:26 2014 -0300
[media] Move mediabus format definition to a more standard place
Define MEDIA_BUS_FMT macros (re-using the values defined in the
v4l2_mbus_pixelcode enum) into a separate header file so that they can be
used from the DRM/KMS subsystem without any reference to the V4L2
subsystem.
Then set V4L2_MBUS_FMT definitions to the MEDIA_BUS_FMT values using the
V4L2_MBUS_FROM_MEDIA_BUS_FMT macro.
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
include/uapi/linux/Kbuild | 1 +
include/uapi/linux/media-bus-format.h | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
include/uapi/linux/v4l2-mediabus.h | 184 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------
3 files changed, 206 insertions(+), 104 deletions(-)
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|
|
Address the renaming. cfg802154.h was already added but we forgot
to remove wpan-phy.h. This is an example type of upstream that
we should easily be able to automatically backport through
inference. Logic:
for f in copy_list:
if f in git_delta_renamed:
adjust_copy_list(f)
We'd first have to build a series of types of changes from
the delta between the last linux-next tag we tracked and the
currenty evaluated one, the git_delta_renamed would contain
a list of renames that happened between the two tags.
commit 5ad60d36993596f7b3b958500f9c66c5338cd855
Author: Alexander Aring <alex.aring@gmail.com>
Date: Sat Oct 25 09:41:02 2014 +0200
ieee802154: move wpan-phy.h to cfg802154.h
The wpan-phy header contains the wpan_phy struct information. Later this
header will be have similar function like cfg80211 header. The cfg80211
header contains the wiphy struct which is identically the wpan_phy
struct inside 802.15.4 subsystem.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Cc: Alan Ott <alan@signal11.us>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|
|
Various small things broken in the integration patchset, fix
them to actually make backports useful again.
For example, a driver using devcoredump wouldn't have worked
without these changes as it would depend on devcoredump, and
that wasn't backported due to the bugs, despite being in the
backport Kconfig file.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
|
|
Kernel 3.9 ships with a version of rt6_nexthop() with two parameters.
We want to replace this version with our current version which only
takes one parameter. include/net/ip6_route.h includes include/net
/ip6_fib.h so we can not place our code behind the code in include/net
/ip6_route.h. If we include ip6_fib.h before ip6_route.h we can place
our code at the position we need it.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
When unloading mac80211 on the default kernel which is currently
shipped in Ubuntu 14.04 this commit causes a kernel error message. Now
we check if the list was deleted before and only do so if it was not
done before. Ubuntu probably backported this patch in their kernel.
commit 97666f936e0656a1b28c40cc33981a8db65e1a11
Author: Hauke Mehrtens <hauke@hauke-m.de>
Date: Sun Nov 16 14:23:24 2014 +0100
headers: delete the list in unregister_netdevice_many()
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This file is now copied from the kernel and we do not have to ship an
own version. Coping this from the kernel is safe because it only
contains constants.
commit bda1096b3dfe00f19b30fc85f282b2a9ad2f67f0
Author: Felix Fietkau <nbd@openwrt.org>
Date: Sun Nov 16 14:39:58 2014 +0100
backports: add include/uapi/linux/pci_regs.h to copy-list
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
The qdisc_tx_busylock member in struct net_device is not available in
kernel < 3.7.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
The member pfmemalloc was added to struct page in kernel 3.6, it should
be same to just ignore it in most situation, so do so on older kernel
versions.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This is needed by bluetooth and ieee802154.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This is needed by mac80211_hwsim.
The code was copied from kernel 3.4.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This is needed by bluetooth.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
It looks hard to backport IEEE802154 to older kernels, because it now
uses the new member ieee802154_ptr in struct net_device. This code was
added in upstream commit 98a18b6ffc7 "netdevice: add ieee802154_ptr to
net_device"
If someone knows how to backport this stuff please do so and revert
this patch.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
MEDIA_TUNER_M88RS6000T now uses devm_regmap_init_i2c()
One of the tuners DVB_SMIPCIE selects uses regmap_bulk_write()
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
These files were moved in the mainline kernel, we have to adapt that.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
this is needed by bluetooth.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This is needed by bluetooth.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
unregister_netdevice_many() now deletes the list after running, in the
earlier days mac80211 and so on, did this on their own. We extended the
old unregister_netdevice_many() function for all kernel versions that
do not have a fixed unregister_netdevice_many().
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This is used by the saa7134-alsa.c driver.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This is used in some places.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This is used by the igb driver.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This removes some used stuff from linux/skbuff.h.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
The backported (<3.9) version of hlist_for_each_entry_rcu and
hlist_for_each_entry_safe uses the new macro hlist_entry_safe. It is called
with an ACCESS_ONCE parameter for the first parameter ptr. This disallows
merging of the two loads which the current version of the macro uses.
This is problematic because this macro must only generate one load. Otherwise
with two contexts (or CPUs) following could happen:
1. context 1 fetches the ptr to the last entry in hlist_entry_safe() and
accepts this non-NULL ptr
2. context 2 deletes the last entry and terminates the list with NULL
3. context 1 re-fetches the pointer, doesn't check for zero, calculates the
entry based on a NULL pointer
4. context 1 crashes because it tries to load/write data from/to the invalid
address
Instead use a single load to a temporary variable and do the NULL-check and
calculation based on that one. This is also the approach used in the current
Linux versions and was introduced by Paul E. McKenney.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
Fixes a recent iwlwifi build error
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
I intend to use this for a new driver
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This fix was originally provided by Johannes. This replaces
the linker adhoc fix to match more with what we do upstream
without requiring the use of HOSTLOADLIBES.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|
|
This enables support for using the backports project
to integrate device drivers from a future version of Linux
into an older version of Linux. What you end up seeing is
a backports submenu when configuring your kernel and the
ability to select specific device drivers from subsystems
supported through the Linux backports project.
At this time enabling one device driver from a future version
of Linux will require using only the latest version of the
subsystem modules and other subsystem drivers. For example
enabling cfg80211 and mac80211 from a future version of Linux
will require you to only use future version of the respective
device drivers. In order to enable the backported version of
802.11 drivers for example, you will have to enable first:
Networking support -->
Wireless -->
But under that menu disable all options, then jump to the backports
submenu to now enable:
Backports -->
cfg80211
mac80211
Wireless LAN --->
etc
You build these device drivers modular or built-in to the kernel.
Integration support requires only slight modifications to the original
kernel sources, one to the top level Kconfig to add our entry, and also
the top level Makefile to enable backports code to be part of the
built-in vmlinux.
Support for integration takes advantage over the existing infrastructure
added by Johannes to keep track of each indvidual change done by the
backports infrastructure if --gitdebug is used.
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean \
/home/mcgrof/linux-next /home/mcgrof/build/backports-20141023
Copy original source files ...
Applying patches from patches to /home/mcgrof/build/backports-20141023
...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m27.942s
user 13m23.752s
sys 0m47.608s
1 3.0.101 [ OK ]
2 3.1.10 [ OK ]
3 3.2.62 [ OK ]
4 3.3.8 [ OK ]
5 3.4.104 [ OK ]
6 3.5.7 [ OK ]
7 3.6.11 [ OK ]
8 3.7.10 [ OK ]
9 3.8.13 [ OK ]
10 3.9.11 [ OK ]
11 3.10.58 [ OK ]
12 3.11.10 [ OK ]
13 3.12.31 [ OK ]
14 3.13.11 [ OK ]
15 3.14.22 [ OK ]
16 3.15.10 [ OK ]
17 3.16.6 [ OK ]
18 3.17.1 [ OK ]
19 3.18-rc1 [ OK ]
real 42m44.838s
user 1190m5.092s
sys 140m37.208s
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|
|
The CPTCFG_ prefix already implies backport, when integration
is used we'd end up with a double BACKPORT_ prefix, so just
remove the existing one as its not needed.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|
|
Things we backport are now prefixed with BACKPORT_, when we copy
over libraries with the c-files / h-files trick on the compat/Kconfig
trick we prefix these with BACKPORT_ already so in order to help
distinguish them use BACKPORT_BPAUTO_ for them and prevent a double
BACKPORT_ prefix.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|
|
The way we'll define backports versioning information for
kernel integration is slightly different, we'll rely completely
on Kconfig for the job, but in the end share the same C code
defines.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|
|
In order to help unify the naming scheme for shared
backports versioning information rely on the CPTCFG_
prefix, when integration support gets added that will
translate to the respective CONFIG_BACKPORT_ prefix.
Kconfig opt env entries don't get propagated out, so
we need to define these ourselves. This leaves all
other names in place for packaging and just focuses
on sharing on the C / header code.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|
|
The version file contains:
* BACKPORTS_VERSION
* BACKPORTED_KERNEL_VERSION
* BACKPORTED_KERNEL_NAME
This file is used by the Makefile to export variable
definitions used to identify the backport. For kernel
integration we'll be using a generated Kconfig file
instead and since these are needed when processing
kconfig logic this will need to be defined earlier.
Just move the generation of the version file for packaging
up early to match where we will generate the Kconfig with
the backports versioning identification.
This change has no real functional change other than the
move of some code running earlier.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
|