Stefan Assmann [Fri, 16 May 2014 11:21:20 +0000 (13:21 +0200)]
backports: handle new rxfh_ndir pointers in struct ethtool_ops
In kernel 3.3 struct ethtool_ops received 3 new function pointers
get_rxfh_indir_size, get_rxfh_indir, set_rxfh_indir.
Address this by putting ifdef around the code.
commit
7850f63f1620512631445b901ae11cd149e7375c
Author: Ben Hutchings <bhutchings@solarflare.com>
Date: Thu Dec 15 13:55:01 2011 +0000
ethtool: Centralise validation of ETHTOOL_{G, S}RXFHINDIR parameters
git describe --contains
7850f63f1620512631445b901ae11cd149e7375c
v3.3-rc1~182^2~192
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Stefan Assmann [Fri, 16 May 2014 11:21:19 +0000 (13:21 +0200)]
backports: handle new get_module_info and get_module_eeprom pointers in struct ethtool_ops
In kernel 3.5 struct ethtool_ops received 2 new function pointers
get_module_info and get_module_eeprom. Address this by putting ifdef around
the code.
commit
41c3cb6d20f0252308e9796fa4f3dacb4960de91
Author: Stuart Hodgson <smhodgson@solarflare.com>
Date: Thu Apr 19 09:44:42 2012 +0100
ethtool: Extend the ethtool API to obtain plugin module eeprom data
git describe --contains
41c3cb6d20f0252308e9796fa4f3dacb4960de91
v3.5-rc1~109^2~124^2~2
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Stefan Assmann [Fri, 16 May 2014 11:21:18 +0000 (13:21 +0200)]
backports: handle new get_ts_info pointer in struct ethtool_ops
In kernel 3.5 struct ethtool_ops received a new function pointer
get_ts_info. Address this by putting ifdef around the code.
commit
c8f3a8c31069137fe0100e6920558f1a7487ef3c
Author: Richard Cochran <richardcochran@gmail.com>
Date: Tue Apr 3 22:59:17 2012 +0000
ethtool: Introduce a method for getting time stamping capabilities.
git describe --contains
c8f3a8c31069137fe0100e6920558f1a7487ef3c
v3.5-rc1~109^2~632
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Stefan Assmann [Fri, 16 May 2014 11:21:17 +0000 (13:21 +0200)]
backports: handle new get_eee and set_eee pointers in struct ethtool_ops
In kernel 3.6 struct ethtool_ops received 2 new function pointers get_eee
and set_eee. Address this by putting ifdef around the code.
commit
80f12eccce775dc6bb93dba9b52529740f929237
Author: Yuval Mintz <yuvalmin@broadcom.com>
Date: Wed Jun 6 17:13:06 2012 +0000
Added kernel support in EEE Ethtool commands
git describe --contains
80f12eccce775dc6bb93dba9b52529740f929237
v3.6-rc1~125^2~587
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Stefan Assmann [Fri, 16 May 2014 11:21:16 +0000 (13:21 +0200)]
backports: handle no_fcs change in struct sk_buff
In kernel 3.4 a new field no_fcs was introduced to struct sk_buff.
Address this by putting ifdef around the code.
commit
3bdc0eba0b8b47797f4a76e377dd8360f317450f
Author: Ben Greear <greearb@candelatech.com>
Date: Sat Feb 11 15:39:30 2012 +0000
net: Add framework to allow sending packets with customized CRC.
git describe --contains
3bdc0eba0b8b47797f4a76e377dd8360f317450f
v3.4-rc1~177^2~207
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Stefan Assmann [Fri, 16 May 2014 11:21:15 +0000 (13:21 +0200)]
backports: handle new ndo_set_vf_spoofchk pointer in struct net_device_ops
In kernel 3.2 struct net_device_ops got a new function pointer
ndo_set_vf_spoofchk. Address this by putting ifdef around the code.
commit
5f8444a3fa617076f8da51a3e8ecce01a5d7f738
Author: Greg Rose <gregory.v.rose@intel.com>
Date: Sat Oct 8 03:05:24 2011 +0000
if_link: Add additional parameter to IFLA_VF_INFO for spoof checking
git describe --contains
5f8444a3fa617076f8da51a3e8ecce01a5d7f738
v3.2-rc1~129^2~87
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Stefan Assmann [Fri, 16 May 2014 11:21:14 +0000 (13:21 +0200)]
backports: handle changes to vlan_rx_add/kill pointers in struct net_device_ops
In kernel 3.3 and 3.10 struct net_device_ops function pointers
ndo_vlan_rx_add_vid and ndo_vlan_rx_kill_vid changed.
Address this by putting ifdef around the code.
commit
8e586137e6b63af1e881b328466ab5ffbe562510
Author: Jiri Pirko <jpirko@redhat.com>
Date: Thu Dec 8 19:52:37 2011 -0500
net: make vlan ndo_vlan_rx_[add/kill]_vid return error value
git describe --contains
8e586137e6b63af1e881b328466ab5ffbe562510
v3.3-rc1~182^2~291
commit
80d5c3689b886308247da295a228a54df49a44f6
Author: Patrick McHardy <kaber@trash.net>
Date: Fri Apr 19 02:04:28 2013 +0000
net: vlan: prepare for 802.1ad VLAN filtering offload
git describe --contains
80d5c3689b886308247da295a228a54df49a44f6
v3.10-rc1~66^2~97^2~4
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Stefan Assmann [Fri, 16 May 2014 11:21:13 +0000 (13:21 +0200)]
backports: handle new sriov_configure pointer in struct pci_driver
In kernel 3.8 struct pci_driver got a new function pointer sriov_configure.
Address this by putting ifdef around the code.
commit
1789382a72a537447d65ea4131d8bcc1ad85ce7b
Author: Donald Dutile <ddutile@redhat.com>
Date: Mon Nov 5 15:20:36 2012 -0500
PCI: SRIOV control and status via sysfs
git describe --contains
1789382a72a537447d65ea4131d8bcc1ad85ce7b
v3.8-rc1~128^2~6^2~4
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Stefan Assmann [Fri, 16 May 2014 11:21:12 +0000 (13:21 +0200)]
backports: remove old igb patches
Reworking the igb patches and thus removing the old ones.
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Johannes Berg [Thu, 15 May 2014 09:22:06 +0000 (11:22 +0200)]
backport: CCM: set correct dependencies
If these aren't actually compiled in, then the mac80211
code will fail at runtime. Add these dependencies so we
at least get a warning at compile time about this.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Johannes Berg [Mon, 5 May 2014 12:46:11 +0000 (14:46 +0200)]
backports: provide net_ieee802154_lowpan only when needed
If 802.15.4 isn't configured, there's no need to provide the
network namespace support for it, so don't.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
[use IS_ENABLED to hanle CPTCFG_IEEE802154_6LOWPAN=m]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Johannes Berg [Mon, 5 May 2014 14:58:38 +0000 (16:58 +0200)]
gentree: remove stray print
My previous commit to restrict the defconfig files left
a debugging print statement, remove it.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Richard Röjfors [Sat, 3 May 2014 14:09:37 +0000 (16:09 +0200)]
backports: backport-3.15: Include fix
In this version the correct linux string.h is included.
Include string.h to avoid compile issues if warnings are treated as errors:
backports-3.14-1/compat/backport-3.15.c: In function 'backport_devm_kstrdup':
backports-3.14-1/compat/backport-3.15.c:33:2: error: implicit declaration of function 'strlen' [-Werror=implicit-function-declaration]
size = strlen(s) + 1;
^
backports-3.14-1/compat/backport-3.15.c:33:9: warning: incompatible implicit declaration of built-in function 'strlen' [enabled by default]
size = strlen(s) + 1;
^
backports-3.14-1/compat/backport-3.15.c:36:3: error: implicit declaration of function 'memcpy' [-Werror=implicit-function-declaration]
memcpy(buf, s, size);
^
backports-3.14-1/compat/backport-3.15.c:36:3: warning: incompatible implicit declaration of built-in function 'memcpy' [enabled by default]
Signed-off-by: Richard Röjfors <richard@puffinpack.se>
[refreshed patch on current master]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Johannes Berg [Wed, 30 Apr 2014 22:10:25 +0000 (00:10 +0200)]
backports: select_queue patch: fix callback kernel version
The callback argument has been passed since kernel 3.14, not
only 3.15 - fix that.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Arend van Spriel [Fri, 2 May 2014 01:03:37 +0000 (18:03 -0700)]
backports: lib: remove raising ExecutionError exception
In spatch a ExecutionError was raised, but that causes the thread
to finish without closing the outfile and more importantly without
putting (ret, fn) tuple on the return queue. This results in the
threaded_spatch routine to get stuck on the ret_q.get() call. This
patch removes raising the ExecutionError and just return the tuple.
The non-zero return code will result in ExecutionErrorThread exception
anyway.
Signed-off-by: Arend van Spriel <arend@broadcom.com>
[mcgrof]: rebased to fit into pycocci
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Luis R. Rodriguez [Thu, 1 May 2014 20:48:23 +0000 (13:48 -0700)]
backports: fix igb patch for next-
20140501
Manual fixes were needed for:
patches/the-way-not-to-do-backports/0001-ethernet-igb/0001-igb_net_device_ops.patch
We currently hit a compile error as of next-
20140501 because of the
introduction of smp_mb__after_atomic(). This is not yet addressed.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Luis R. Rodriguez [Thu, 1 May 2014 20:45:19 +0000 (13:45 -0700)]
backports: devel/backports-update-manager: fix for older shutil.move
Older shutil.move does not seem to like it when there are
symlinks on a target, to account for this and to make things
clearer just split up the work on the lib/modules and usr/src
directory.
This fixes running devel/backports-update-manager on OpenSUSE 13.1
base install.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Luis R. Rodriguez [Thu, 1 May 2014 16:25:38 +0000 (09:25 -0700)]
backports: remove two upstream patches
Two changes to help with backports were merged upstream so nuke 'em.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Luis R. Rodriguez [Thu, 1 May 2014 16:04:58 +0000 (09:04 -0700)]
backports: add ckmake binary requirements
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Luis R. Rodriguez [Thu, 1 May 2014 16:02:06 +0000 (09:02 -0700)]
backports: run autopep8 on ckmake
This converts rel-html.py to conform to the PEP 8 style
guide using autopep8. If using vi, consider adding this to
your .vimrc:
filetype indent plugin on
au FileType python setlocal tabstop=8 expandtab shiftwidth=4 softtabstop=4
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Luis R. Rodriguez [Thu, 1 May 2014 15:30:34 +0000 (08:30 -0700)]
backports: add gentree.py binary requirements
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Luis R. Rodriguez [Thu, 1 May 2014 15:11:03 +0000 (08:11 -0700)]
backports: add backports-update-manager binary requirements
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Luis R. Rodriguez [Thu, 1 May 2014 14:58:04 +0000 (07:58 -0700)]
backports: add a Python binary package dependency library
This lets us use this in our python scripts for
program dependencies that they might have, instead
of getting nasty stack traces you get output that's
a very useful and clear. This is also important as
we move along with Coccinelle and require newer
versions with new bells and whisteles added upstream
to Coccinelle.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Avery Pennarun [Wed, 30 Apr 2014 01:29:06 +0000 (21:29 -0400)]
Makefile: add savedefconfig target.
This writes a file called 'defconfig' which contains only the deltas from
the default configuration. It's suitable for use as an input defconfig file
for later builds.
Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Johannes Berg [Tue, 29 Apr 2014 09:31:28 +0000 (11:31 +0200)]
gentree: strip useless defconfig files
If a defconfig file has symbols that can't be satisfied
with the given copy-list file, then there's no point in
shipping it, so just copy selectively the ones needed.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Johannes Berg [Tue, 29 Apr 2014 09:31:27 +0000 (11:31 +0200)]
backports: remove IWLWIFI_P2P from iwlwifi defconfig
This symbol is obsolete, it was removed upstream, so just
remove it from the defconfig file as well.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Johannes Berg [Mon, 28 Apr 2014 13:12:15 +0000 (15:12 +0200)]
backports: remove more old ifdef/compat code
Since support for kernels < 3.0 was removed, there's now a bunch
of dead code that can be removed - do it.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Johannes Berg [Mon, 28 Apr 2014 12:06:58 +0000 (14:06 +0200)]
backports: remove mac80211.h
As support for old kernels has been removed, there's no need to keep
around the mac80211.h file that redefines the ieee80211_rx() symbol;
In 2.6.32 this name was changed to belong to mac80211.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Stefan Assmann [Fri, 25 Apr 2014 07:14:30 +0000 (09:14 +0200)]
backports: ifdef code already present in RHEL7.0
Avoid conflicts with RHEL7.0 as DEVICE_ATTR_* defines,
enum pkt_hash_types, skb_set_hash(), dma_common_get_sgtable()
are already present.
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Stefan Assmann [Fri, 25 Apr 2014 07:14:29 +0000 (09:14 +0200)]
backports: add linux/of_graph.h to copy-list
Required by CONFIG_VIDEO_ADV7343 and others.
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Stefan Assmann [Fri, 25 Apr 2014 07:14:28 +0000 (09:14 +0200)]
backports: wrap dma_set_mask_and_coherent in LINUX_BACKPORT()
To avoid conflicts with any distribution kernel wrap
dma_set_mask_and_coherent with LINUX_BACKPORT().
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Johannes Berg [Thu, 24 Apr 2014 19:19:38 +0000 (21:19 +0200)]
git-tracker: restrict shortlog to existing files
When the git-tracker updates through a merge commit or
otherwise multiple kernel commits, it appends a shortlog
of all the changes. That's fine, but is often unhelpful
since it's so large - restrict it to the files that are
actually backported to make it more readable.
While at it, rewrite the bpgit.status() helper function
to actually do something useful.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 15 Apr 2014 20:07:36 +0000 (20:07 +0000)]
backports: refresh patches for next-
20140415
This update required one collateral evolution to be addressed,
the rest was just a patch refresh.
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
--refresh /home/mcgrof/linux-next /home/mcgrof/build/next-
20140415
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m16.527s
user 10m47.068s
sys 0m37.412s
1 3.0.101 [ OK ]
2 3.1.10 [ OK ]
3 3.2.54 [ OK ]
4 3.3.8 [ OK ]
5 3.4.79 [ 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.29 [ OK ]
12 3.11.10 [ OK ]
13 3.12.10 [ OK ]
14 3.13.2 [ OK ]
15 3.14-rc1 [ OK ]
real 18m42.577s
user 498m48.572s
sys 64m0.560s
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 15 Apr 2014 21:03:31 +0000 (21:03 +0000)]
backports: formalize struct sock sk_data_ready() backport with SmPL
Commit
676d2369 by David removed the skb->len arguments passed onto
the struct sock sk_data_ready() callback. This was done as its racy,
a few drivers were passing 0 to it, and it was not really used.
By removing it the raciness is addresed but to backport this we are
going to have to deal with the races as-is on older kernels. This was
merged as of v3.15:
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
676d2369
v3.15-rc1~8^2~10
Since this is not a define or static inline we can't easily replace this with
the backports module or header files, instead we use SmPL grammar to generalize
the backport for all use cases. Note that in order to backport this we won't
know what older kernel drivers were using before this change, it could have
been 0 or skb->len for the length parameter, since we have to infer something
we choose skb->len *iff* skb_queue_tail() was used right before it, otherwise
we infer to throw 0.
Adding this SmPL patch to our series only incurs an additional ~9 seconds
on run time code generation.
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
/home/mcgrof/linux-next /home/mcgrof/build/next-
20140415-clean
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m25.128s
user 12m49.380s
sys 0m44.892s
1 3.0.101 [ OK ]
2 3.1.10 [ OK ]
3 3.2.54 [ OK ]
4 3.3.8 [ OK ]
5 3.4.79 [ 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.29 [ OK ]
12 3.11.10 [ OK ]
13 3.12.10 [ OK ]
14 3.13.2 [ OK ]
15 3.14-rc1 [ OK ]
real 18m42.577s
user 498m48.572s
sys 64m0.560s
commit
676d23690fb62b5d51ba5d659935e9f7d9da9f8e
Author: David S. Miller <davem@davemloft.net>
Date: Fri Apr 11 16:15:36 2014 -0400
net: Fix use after free by removing length arg from sk_data_ready callbacks.
Several spots in the kernel perform a sequence like:
skb_queue_tail(&sk->s_receive_queue, skb);
sk->sk_data_ready(sk, skb->len);
But at the moment we place the SKB onto the socket receive queue it
can be consumed and freed up. So this skb->len access is potentially
to freed up memory.
Furthermore, the skb->len can be modified by the consumer so it is
possible that the value isn't accurate.
And finally, no actual implementation of this callback actually uses
the length argument. And since nobody actually cared about it's
value, lots of call sites pass arbitrary values in such as '0' and
even '1'.
So just remove the length argument from the callback, that way there
is no confusion whatsoever and all of these use-after-free cases get
fixed as a side effect.
Based upon a patch by Eric Dumazet and his suggestion to audit this
issue tree-wide.
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: David S. Miller <davem@davemloft.net>
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 15 Apr 2014 22:48:26 +0000 (22:48 +0000)]
backports: pycocci - make the Coccinelle wrapper a standalone tool
This lets us share it for general use as a generic tool, we'll upkeep
it here for now and if Coccinelle picks it up we can drop it and just
require folks to install it.
This lets us use the same solution for standard testing / regular
development and also for backports without any discrepencies.
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 15 Apr 2014 19:52:02 +0000 (19:52 +0000)]
backports: add a 120 second timeout rule to Coccinelle
Our current overall run time is less than 120 seconds so lets
add a trigger to fail if we have a rule taking longer. Adding
this has no extra incurred overhead cost.
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
/home/mcgrof/linux-next /home/mcgrof/build/next-
20140411
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m15.463s
user 10m49.100s
sys 0m37.100s
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 15 Apr 2014 19:28:38 +0000 (19:28 +0000)]
backports: Use Coccinelle --relax-include-path
This will provide wider coverage on include paths for our Coccinelle
rule interpretation, at a very lower cost incurred, about 1 second,
for code generation. Coccinelle makes an effort to infer types but
with a wider coverage of header files it can do a better job at that.
You want to use both --recursive-includes (which we already enable) and
--relax-include-path to get the most possible type information.
You will want at least Coccinelle 1.0.0-rc20 which had an increase
of performance of over 30% when using both --recursive-includes and
--relax-include path.
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
/home/mcgrof/linux-next /home/mcgrof/build/next-
20140411
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m15.370s
user 10m47.232s
sys 0m36.980s
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 15 Apr 2014 19:01:17 +0000 (19:01 +0000)]
backports: use --use-coccigrep for Coccinelle
This uses --use-coccigrep on our Cocccinelle library and removes
the CPU adjustments depending on whether we are testing or not.
The flag --use-coccigrep will tell Coccinelle to only kick off a
worker on a file until it has determined that a rule being
evaluated applies to a file. This does however mean that all files
on its bucket list will be evaluated first, but this yields better
CPU usage without having us to ramp up on the number of threads
depending on the situation. Without this patch we were kicking off
more threads to account for the fact that a Coccinelle thread will
stop working on a file if it had little or nothing to do on a file.
Possible work improvement: see how we can do away with tmp files
for Coccinelle output and just use memory to for the ouput, or
perhaps even disregard the stdout and only care for it if
--debug-cocci is provided.
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
/home/mcgrof/linux-next /home/mcgrof/build/next-
20140411
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m14.880s
user 10m47.824s
sys 0m36.796s
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 12 Apr 2014 04:59:32 +0000 (04:59 +0000)]
backports: transform group attribute backport to SmPL form
The struct attribute_group collateral evolution by Greg and Oliver
was introduced as of v3.11:
mcgrof@ergon ~/linux (git::master)$ git describe --contains
f2f37f58b
v3.11-rc2~18^2~9
mcgrof@ergon ~/linux (git::master)$ git describe --contains
3493f69f4
v3.11-rc2~18^2~2
We backport them with our own respective set of helpers. Each new data
structure that gets an attribute group needs a respective SmPL set of
rules for the transformation, specially if they were introduced in
different kernel versions, which in this case we have two which were.
By using SmPL we can automatically backport the collateral evolutions
moving forward for *any* driver that makes use of these group
attributes on both data structure we are addressing in these SmPL
patches. This is a great example of the level of atomicity that we
want to ideally strive to reach for backporting, as it lets us
automatically backport a collateral evolution through grammer for
*any* device driver we backport, and lets us be lazier.
We provided backports of introduction of the group attribute onto
two data structures:
* struct class: added via commit
d05a6f96c
* struct bus_type: added via commit
fa6fdb33b
mcgrof@ergon ~/linux (git::master)$ git describe --contains
d05a6f96c
v3.11-rc2~18^2~3
mcgrof@ergon ~/linux (git::master)$ git describe --contains
fa6fdb33b
v3.12-rc1~184^2~89
This patch generalizes the backport the introduction of the group
attribute to each data structure into separate SmPL patch files.
One change the SmPL patches pick up on was #ifdef'ing over the
init_foogroup_attrs() calls which would only have been introduced when
ATTRIBUTE_GROUPS_BACKPORT() was used, which *is* #idefd's.
The changes that added the new APIs are below, the respective commits
for each data structure change are documented on each SmPL patch.
commit
f2f37f58b1b933b06d6d84e80a31a1b500fb0db2
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Sun Jul 14 16:05:52 2013 -0700
sysfs.h: add ATTRIBUTE_GROUPS() macro
To make it easier for driver subsystems to work with attribute groups,
create the ATTRIBUTE_GROUPS macro to remove some of the repetitive
typing for the most common use for attribute groups.
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit
3493f69f4c4e8703961919a9a56c2d2e6a25b46f
Author: Oliver Schinagl <oliver@schinagl.nl>
Date: Sun Jul 14 16:05:59 2013 -0700
sysfs: add more helper macro's for (bin_)attribute(_groups)
With the recent changes to sysfs there's various helper macro's.
However there's no RW, RO BIN_ helper macro's. This patch adds them.
Signed-off-by: Oliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
mcgrof@drvbp1 ~/backports (git::master)$ time \
./gentree.py --clean /home/mcgrof/linux-next /home/mcgrof/build/next-
20140411
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m14.635s
user 5m17.308s
sys 0m39.216s
== ckmake-report.log ==
1 3.0.101 [ OK ]
2 3.1.10 [ OK ]
3 3.2.54 [ OK ]
4 3.3.8 [ OK ]
5 3.4.79 [ 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.29 [ OK ]
12 3.11.10 [ OK ]
13 3.12.10 [ OK ]
14 3.13.2 [ OK ]
15 3.14-rc1 [ OK ]
real 28m18.533s
user 785m28.844s
sys 86m25.548s
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Oliver Schinagl <oliver@schinagl.nl>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 12 Apr 2014 16:23:08 +0000 (16:23 +0000)]
backports: revert unification of cocci files
This optimization was introduced by Johannes to help with
performance before we had parallelism. With parallelism
we get better results by splitting rules up. Also some
feedback from Julia on this:
===
I don't think this is a good idea. You would have to be careful about
naming. And You may lose on some performance benefits of the prefiltering.
Suppose you have an easy semantic patch that references function A and a
hard semantic patch that references function B. The hard semantic patch
specifically contains one rule that is very complicated but that does not
use B. That very complicated rule will now be applied to the 5000 files
that use A as well as to the 3 files that use B. So you get a big
performance slowdown.
===
The performance before this change:
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
--refresh \
/home/mcgrof/linux-next /home/mcgrof/build/next-
20140409
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m30.186s
user 9m25.180s
sys 0m24.428s
After:
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
/home/mcgrof/linux-next /home/mcgrof/build/next-
20140411
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m3.071s
user 3m39.388s
sys 0m21.812s
commit
3c71184d3a2843c9a1d5a289c71bfbbc126d71fd
Author: Johannes Berg <johannes.berg@intel.com>
Date: Wed Jan 1 20:37:13 2014 +0100
gentree: combine spatches (unless using --gitdebug)
Since spatch is rather slow, but can handle multiple spatches
concatenated in a single file, just do that and run it only
once rather than for each spatch. That shaves off some of the
runtime (startup etc. and finding affected files.)
On my system, I go from
real 9m42.616s
user 8m48.352s
sys 0m22.884s
to
real 9m1.948s
user 8m40.108s
sys 0m12.088s
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 12 Apr 2014 00:09:09 +0000 (00:09 +0000)]
backports: refresh patches for next-
20140409 and next-
20140411
We were required to refresh patches for next-
20140409 but for next-
20140411
no changes were required. Since no actual commit is necessary next time
this happens (which can often, hence -- automatic backports --) I'll
just peg the results on the PGP signed tag for the release. I'll peg
this commit with both next tags because of this. Just run git describe
to find out the respective linux-next tag you should be using as that is
the latest validated one.
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean --refresh \
/home/mcgrof/linux-next /home/mcgrof/build/next-
20140409
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m30.186s
user 9m25.180s
sys 0m24.428s
mcgrof@drvbp1 ~/build/next-
20140409 $ time ckmake --allyesconfig
1 3.0.101 [ OK ]
2 3.1.10 [ OK ]
3 3.2.54 [ OK ]
4 3.3.8 [ OK ]
5 3.4.79 [ 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.29 [ OK ]
12 3.11.10 [ OK ]
13 3.12.10 [ OK ]
14 3.13.2 [ OK ]
15 3.14-rc1 [ OK ]
real 26m54.859s
user 744m15.764s
sys 83m47.440s
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
--refresh /home/mcgrof/linux-next /home/mcgrof/build/next-
20140411
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m30.437s
user 9m22.812s
sys 0m24.484s
1 3.0.101 [ OK ]
2 3.1.10 [ OK ]
3 3.2.54 [ OK ]
4 3.3.8 [ OK ]
5 3.4.79 [ 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.29 [ OK ]
12 3.11.10 [ OK ]
13 3.12.10 [ OK ]
14 3.13.2 [ OK ]
15 3.14-rc1 [ OK ]
real 28m21.215s
user 786m8.468s
sys 86m46.564s
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Fri, 11 Apr 2014 01:45:20 +0000 (01:45 +0000)]
backports: nuke support for kernels < 3.0
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
/home/mcgrof/linux-next /home/mcgrof/build/next-
20140409
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m30.186s
user 9m25.180s
sys 0m24.428s
mcgrof@drvbp1 ~/build/next-
20140409 $ time ckmake --allyesconfig
1 3.0.101 [ OK ]
2 3.1.10 [ OK ]
3 3.2.54 [ OK ]
4 3.3.8 [ OK ]
5 3.4.79 [ 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.29 [ OK ]
12 3.11.10 [ OK ]
13 3.12.10 [ OK ]
14 3.13.2 [ OK ]
15 3.14-rc1 [ OK ]
real 26m54.859s
user 744m15.764s
sys 83m47.440s
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Wed, 9 Apr 2014 22:57:46 +0000 (22:57 +0000)]
backports: backport define of SIOCGHWTSTAMP
Ben added ioctl support for the unprivileged SIOCGHWTSTAMP
which is designed to just get the configuration, unlike
SIOCSHWTSTAMP which requires you to set it and only after
it returns the configuration.
Since we are carrying over a small addition to a UAPI header
without carrying it over completely (we use copy-list to
carry over full UAPI headers) its worth making a design note
about this.
We carry UAPI headers for backports to enable compilation
of kernel / driver code to compile without any changes. If
it so happens that a feature is backported it can be added
here but notice that if full subsystems are backported you
should just include the respective full header onto the
copy-list file so that its copied intact. The strategy on this
patch can be used to either backport a specific feature or
to just avoid having to do ifdef changes to compile kernel
or driver carried over by backports.
Userspace is *not expected* to copy over backports headers
to compile userspace programs, userspace programs can
and should consider carrying over a respective copy-list
of the latest UAPI kernel headers they need in their
upstream sources, the kernel the user uses, whether with
backports or not should be able to return -EOPNOTSUPP if
the feature is not available and let it through if its
supported and meats the expected form.
In this particular case if userspace tries to send the
SIOCGHWTSTAMP they'd end up with -ENOTTY.
mcgrof@ergon ~/linux (git::master)$ git describe --contains
fd468c74
v3.14-rc1~94^2~622^2~12
commit
fd468c74bd4d6949736810a80d6ca05eb20fba84
Author: Ben Hutchings <bhutchings@solarflare.com>
Date: Thu Nov 14 01:19:29 2013 +0000
net_tstamp: Add SIOCGHWTSTAMP ioctl to match SIOCSHWTSTAMP
SIOCSHWTSTAMP returns the real configuration to the application
using it, but there is currently no way for any other
application to find out the configuration non-destructively.
Add a new ioctl for this, making it unprivileged.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Wed, 9 Apr 2014 22:21:35 +0000 (22:21 +0000)]
backports: backport dev_consume_skb_any()
dev_consume_skb_any() was added by Eric via commit
e6247027e
added as of v3.14 to help do analysis on the different reasons
why an skbs are free'd in particular to let us know how many get
dropped or consumed. The new dev_consume_skb_any() spawned the
inception of an optimization for dev_kfree_skb_irq() which was
implemented through __dev_kfree_skb_irq() which dev_kfree_skb_irq()
now uses. We could have taken advantage of both if kernels had
exported raise_softirq_irqoff() but they don't and as such we
can't reimplement that on backports as it stands right now.
If we'd be building backports in-kernel we could just take the
new implementation of __dev_kfree_skb_irq() as raise_softirq_irqoff()
would be available and we could reap the benefits of the change.
That implemention can be seen as a reference - for now - here:
http://drvbp1.linux-foundation.org/~mcgrof/patches/2014/04/11/pend-2014-04-07.patch
For older kernels for now we just use the singular old version of
dev_kfree_skb_irq() and dev_kfree_skb_any().
mcgrof@ergon ~/linux (git::master)$ git describe --contains
e6247027e
v3.14-rc1~94^2~585
commit
e6247027e5173c00efb2084d688d06ff835bc3b0
Author: Eric Dumazet <edumazet@google.com>
Date: Thu Dec 5 04:45:08 2013 -0800
net: introduce dev_consume_skb_any()
Some network drivers use dev_kfree_skb_any() and dev_kfree_skb_irq()
helpers to free skbs, both for dropped packets and TX completed ones.
We need to separate the two causes to get better diagnostics
given by dropwatch or "perf record -e skb:kfree_skb"
This patch provides two new helpers, dev_consume_skb_any() and
dev_consume_skb_irq() to be used for consumed skbs.
__dev_kfree_skb_irq() is slightly optimized to remove one
atomic_dec_and_test() in fast path, and use this_cpu_{r|w} accessors.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Wed, 9 Apr 2014 20:39:24 +0000 (20:39 +0000)]
backports: adjust flow_dissector.patch
We copy over the net/core/flow_dissector.c code from
the kernel through the backports Kconfig magic for
our backport of NET_SCH_FQ_CODE:
config BACKPORT_USERSEL_NET_SCH_FQ_CODEL
tristate "Fair Queue Controlled Delay AQM (FQ_CODEL)"
depends on m
depends on !BACKPORT_KERNEL_2_6_25
default m if NET_SCH_FQ_CODEL=n
default m if BACKPORT_USERSEL_BUILD_ALL
#module-name sch_fq_codel
#c-file net/sched/sch_fq_codel.c
#c-file net/core/flow_dissector.c
This pulls net/core/flow_dissector.c into the backports
module as compat/net-core-flow_dissector.c. We don't need
all the code there. Patches under patches/backport-adjustments/
can be used to adjust that type of code. Some changes have
been made to code we delete which means we need to manually
adjust the patch we carry. This is a hint as one area we could
look to enhance better to do more automatic backport work.
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Wed, 9 Apr 2014 20:25:05 +0000 (20:25 +0000)]
backports: drop display output class support
Jean nuked display output class support so we won't
be needing the respective headers for compilation on
backports now. This is as seen on next-
20140409.
commit
f167a64e9d67ebd03d304e369c12011cf2bffaf5
Author: Jean Delvare <jdelvare@suse.de>
Date: Mon Mar 17 15:49:10 2014 +0100
video / output: Drop display output class support
It was only ever used by the ACPI video driver, and that only use case
vanished over 3 years ago (see commit
677bd810, "ACPI video: remove
output switching control".) So this is dead code and I guess we can
remove it now.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Arik Nemtsov [Wed, 9 Apr 2014 12:04:13 +0000 (15:04 +0300)]
backports: device: don't redefine DEVICE_ATTR_RO
Some old custom kernels have it defined.
Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Johannes Berg [Wed, 9 Apr 2014 12:03:27 +0000 (15:03 +0300)]
backports: add napi_gro_flush()
napi_gro_flush() got a second argument in kernel 3.7, but it
can be ignored for prior kernel versions.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Johannes Berg [Wed, 9 Apr 2014 11:56:12 +0000 (13:56 +0200)]
backports: add hwsim defconfig
This can be useful for pure testing scenarios.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 5 Apr 2014 22:56:09 +0000 (22:56 +0000)]
backports: refresh patches for next-
20140320
The wil6210 driver gets NETIF_F_GRO but not that we haven't
been backporting this feature, which was added as of v2.6.29
via commit
d565b0a1a. The driver is only enabled on the
dependencies file down to 2.6.31 though so we simply reuse the
check against kernels >= 2.6.39 to use the netdev->hw_features.
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
d565b0a1a
v2.6.29-rc1~581^2~181
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
--refresh /home/mcgrof/linux-next /home/mcgrof/build/next-
20140320
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m59.391s
user 19m26.468s
sys 0m45.128s
mcgrof@drvbp1 ~/build/next-
20140320 $ time ckmake --allyesconfig
1 2.6.25 [ OK ]
2 2.6.26 [ OK ]
3 2.6.27 [ OK ]
4 2.6.28 [ OK ]
5 2.6.29 [ OK ]
6 2.6.30 [ OK ]
7 2.6.31 [ OK ]
8 2.6.32 [ OK ]
9 2.6.33 [ OK ]
10 2.6.34 [ OK ]
11 2.6.35 [ OK ]
12 2.6.36 [ OK ]
13 2.6.37 [ OK ]
14 2.6.38 [ OK ]
15 2.6.39 [ OK ]
16 3.0.101 [ OK ]
17 3.1.10 [ OK ]
18 3.2.54 [ OK ]
19 3.3.8 [ OK ]
20 3.4.79 [ OK ]
21 3.5.7 [ OK ]
22 3.6.11 [ OK ]
23 3.7.10 [ OK ]
24 3.8.13 [ OK ]
25 3.9.11 [ OK ]
26 3.10.29 [ OK ]
27 3.11.10 [ OK ]
28 3.12.10 [ OK ]
29 3.13.2 [ OK ]
30 3.14-rc1 [ OK ]
real 36m11.856s
user 994m29.360s
sys 124m49.936s
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 8 Apr 2014 15:36:13 +0000 (15:36 +0000)]
backports: backport 3.6 fix on non CONFIG_COMMON_CLK kernels
Commit
93abe8e4 by Viresh added non CONFIG_COMMON_CLK static inlines
that should have gone in for 3.5 as 3.5 assumed some declared routines
would be exproted by the architecture, which was not true. We backport
only the non CONFIG_COMMON_CLK case as CONFIG_COMMON_CLK requires
core kernel architecture specific backport support which we currently do
not support (and perhaps shouldn't). Since 3.5 is not a supported kernel
there is no need to fix this there upstream but this then does require
a paper wrap work around for those kernels of providing an export symbol
for clk_enable() and clk_disable() for the !CONFIG_COMMON_CLK case which
older kernels failed to address.
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
93abe8e4
v3.6-rc1~41^2~117
Cc: Viresh Kumar <viresh.kumar@st.com>
Cc: Wolfram Sang <w.sang@pengutronix.de>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 8 Apr 2014 02:49:37 +0000 (02:49 +0000)]
backports: add kernel base requirement of 3.5 to IR_IMG
IR_IMG is a new driver added by James via
160a8f8a and letter
integrated into the build via commit
54b29120 as of linux-next
tag next-
20140320 which may make it to Linux through v3.15. This
new driver makes use of devm_clk_get() but this was added via
a8a97db9 and that get merged as of v3.5. It seems we can easily
backport
a8a97db9 but these days I'm starting to leave this up to the
folks interested in the drivers to choose / participate and only
they would know if this is worth it. Is 3.5 a good starting point
kernel to require for drivers which depend on the new clock APIs?
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
a8a97db9
v3.5-rc1~183^2~2
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Mauro Carvalho Chehab <m.chehab@samsung.com>
Cc: Mark Brown <broonie@linaro.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 8 Apr 2014 02:39:14 +0000 (02:39 +0000)]
backports: make IEEE802154_AT86RF230 depend require 3.3.
IEEE802154_AT86RF230 has gotten some gpio changes lately
and since we are not backporting all those gpio changes in
practice this driver only compiles down to 3.3 so add that
requirement.
Cc: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 8 Apr 2014 02:34:48 +0000 (02:34 +0000)]
backports: bump NFC_TRF7970A requirements to 3.5
NFC_TRF7970A requires devm_gpio_request_one() but since
gpio infrastructure has been strongly shuffled around
we require drivers to use the in-kernel gpio
infrastructure so just bump NFC_TRF7970A to 3.5.
CC: Erick Macias <emacias@ti.com>
CC: Felipe Balbi <balbi@ti.com>
Cc: Mark A. Greer <mgreer@animalcreek.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 8 Apr 2014 02:24:55 +0000 (02:24 +0000)]
backports: disable DVB_RTL2832 and DVB_USB_RTL28XXU
Commit
bcf43393 as of linux-next next-
20140320 added this Makefile
header extension:
ccflags-y += -I$(srctree)/drivers/staging/media/rtl2832u_sdr
This ends up calling a staging exported symbol rtl2832_sdr_attach().
Let's not pollute driver code with staging code or dependencies.
Folks, can this be cleaned up? This sets a precedent for doing more
of this, and this can get hairy. Its also not fair for folks who
don't want to carry over any staging code. This forces them to, and
its not just a header file, its a full exported symbol. What about
synchronization with differen trees? Was this addressed with Greg?
commit
bcf43393579e3d4069e75a9200a87703185bcf11
Author: Antti Palosaari <crope@iki.fi>
Date: Tue Sep 10 00:13:57 2013 -0300
[media] rtl28xxu: attach SDR extension module
With that extension module it supports SDR.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Cc: Antti Palosaari <crope@iki.fi>
Cc: Mauro Carvalho Chehab <m.chehab@samsung.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 8 Apr 2014 02:14:07 +0000 (02:14 +0000)]
backports: bump kernel requirements for drivers that use s2mps14.h
These depend on include/linux/mfd/samsung/s2mps14.h which
other mfd drivers / platform code can depend on, skip
unless we backport all the dependencies which we don't
right now.
The affected drivers are:
* REGULATOR_S2MPS11
* REGULATOR_S2MPA01
* REGULATOR_TPS65217
The mfd files which we don't backport that uses this are:
* drivers/mfd/sec-core.c
* drivers/mfd/sec-irq.c
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 8 Apr 2014 02:04:51 +0000 (02:04 +0000)]
backports: add GRO_* enums, and its new gro_result_t typedef
This backports commit
d1c76af9e added by Herbert which added the first
enums and then commit
5b252f0c2 added by Ben which gave the enums a
label and then pegged a typedef onto these. This backports these commits
in a forward compatible way upkeeping the introduction and then the
typedef. In order to make this work we use make backported code use
enums with the BACKPORT_prefix but upkeep the same values, this lets
us declare the typedef and peg it to a similar set.
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 8 Apr 2014 02:01:42 +0000 (02:01 +0000)]
backports: complete backport of translation of MMD EEE registers
Commit
b32607dd was already partially backported, this complets that
backport.
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
b32607dd
v3.7-rc1~145^2~292
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sun, 6 Apr 2014 21:57:27 +0000 (21:57 +0000)]
backports: complete backport of frag size accessors
These are just helpers so carry them over, this was added via commit
9e903e0852 through v3.2. The skb frag size was in place for a long time but
was changed from __u16 to __u32 via commit
a309bb072b through v2.6.23 and
since we backport for >= 2.6.25 just leave this as is. This was already
only partly backported, this adds the missing helpers.
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
9e903e0852
v3.2-rc1~182^2~85
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
a309bb072b
v2.6.23-rc2~35^2~11
commit
9e903e085262ffbf1fc44a17ac06058aca03524a
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date: Tue Oct 18 21:00:24 2011 +0000
net: add skb frag size accessors
To ease skb->truesize sanitization, its better to be able to localize
all references to skb frags size.
Define accessors : skb_frag_size() to fetch frag size, and
skb_frag_size_{set|add|sub}() to manipulate it.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sun, 6 Apr 2014 21:14:27 +0000 (21:14 +0000)]
backports: backport skb_set_hash()
This backports skb_set_hash(). Two skb data structures are used
introduced at different points in time, so ifdef around that as well.
For older kernels this is a nop.
mcgrof@ergon ~/linux (git::master)$ git describe --contains
bdeab99191
v3.2-rc1~129^2~458
mcgrof@ergon ~/linux (git::master)$ git describe --contains
4031ae6edb
v3.4-rc1~177^2~333^2
mcgrof@ergon ~/linux (git::master)$ git describe --contains
09323cc479
v3.14-rc1~94^2~474^2~1
Cc: Tom Herbert <therbert@google.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sun, 6 Apr 2014 19:45:11 +0000 (19:45 +0000)]
backports: backport APIs for manipulating skb page fragments
This backports the APIs for manipulating skb page fragments
introduced by Ian via commit
131ea6675c on v3.2. Use the
LINUX_BACKPORT() namespace to avoid clashes with similar ports.
We skip skb_frag_dma_map() as that was already backported.
We also don't backport skb_frag_page() as that was already
backported before.
Since the skb fragment page was moved into its own struct as
part of the fragment our backport ends up using the old access
mechanisms for the framgement page. For details see
a8605c6063.
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
131ea6675c
v3.2-rc1~129^2~421
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
a8605c6063
v3.2-rc1~182^2~29
commit
131ea6675c761f655d43b808dd0fe83d15d5cdd3
Author: Ian Campbell <Ian.Campbell@citrix.com>
Date: Fri Aug 19 06:25:00 2011 +0000
net: add APIs for manipulating skb page fragments.
The primary aim is to add skb_frag_(ref|unref) in order to remove the use of
bare get/put_page on SKB pages fragments and to isolate users from subsequent
changes to the skb_frag_t data structure.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 5 Apr 2014 23:21:15 +0000 (23:21 +0000)]
backports: backport u64_stats_fetch_begin_irq() and u64_stats_fetch_retry_irq()
The bh version u64_stats_fetch_begin_bh() and u64_stats_fetch_retry_bh()
got dropped in favor for an IRQ safe variant. We can now remove
u64_stats_fetch_begin_bh() and u64_stats_fetch_retry_bh() as we work
carrying over what is upstream and no drivers upstream use this anymore.
Cc: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 5 Apr 2014 06:49:16 +0000 (06:49 +0000)]
backports: enhance 0001-netdev_ops.cocci with data structure specifics
The 0001-netdev_ops.cocci is fine but is uses Expression which
makes the interpretation loose. We can reduce the namespace of
the change by using struct. We have to keep expression on the
right hand side as that can even be macros.
For a full example test coverage of this change see the test netdev-ops
github tree and run:
make test1
git checkout -f
make test2
The benefits should be clear, we are *not* modifying data structures
that have similar names. This increases accuracy and security of our
changes. The added run time penalty however is 50 seconds since we had
to use --recursive-includes. The time penatly is worth it for the
accuracy provided and since we'll likley need this flag elsewhere for
other rules.
mcgrof@drvbp1 ~/backports (git::master)$ time \
./gentree.py --clean --refresh \
/home/mcgrof/linux-next \
/home/mcgrof/build/next-
20140311
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m56.339s
user 19m31.428s
sys 0m50.100s
1 2.6.25 [ OK ]
2 2.6.26 [ OK ]
3 2.6.27 [ OK ]
4 2.6.28 [ OK ]
5 2.6.29 [ OK ]
6 2.6.30 [ OK ]
7 2.6.31 [ OK ]
8 2.6.32 [ OK ]
9 2.6.33 [ OK ]
10 2.6.34 [ OK ]
11 2.6.35 [ OK ]
12 2.6.36 [ OK ]
13 2.6.37 [ OK ]
14 2.6.38 [ OK ]
15 2.6.39 [ OK ]
16 3.0.101 [ OK ]
17 3.1.10 [ OK ]
18 3.2.54 [ OK ]
19 3.3.8 [ OK ]
20 3.4.79 [ OK ]
21 3.5.7 [ OK ]
22 3.6.11 [ OK ]
23 3.7.10 [ OK ]
24 3.8.13 [ OK ]
25 3.9.11 [ OK ]
26 3.10.29 [ OK ]
27 3.11.10 [ OK ]
28 3.12.10 [ OK ]
29 3.13.2 [ OK ]
30 3.14-rc1 [ OK ]
[0] https://github.com/mcgrof/netdev-ops
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 21 Dec 2013 19:40:20 +0000 (11:40 -0800)]
backports: convert threaded IRQ suport into an SmPL patch
We leave two patches under the 09-threaded-irq series, but there
are six things worth mentioning on this commit that are important.
I'll clarify that this SmPL port is simply done as a proof of
concept on testing the complexity of a backport for with Coccinelle,
this backport is only relevant for kernels older than 2.6.31 which
at this point is ancient and we should probably stop caring for soon.
1) patches/collateral-evolutions/network/0015-threaded-irq.cocci
We rename the collateral evolution backport from the 09-threaded-irq as
this backport is now formalized and properly atomically split up. We
use 4 digit prefixes for formalized and atomically split up collateral
evolutions. The rest of the patch series that do not have 4 digits
imply that those series could use some love to be formally split up
atomically.
2) 0015-threaded-irq/
We keep a directory for backported collateral evolutions for either
legacy backports without SmPL Coccinelle patches *or* for series that
are addressed with SmPL but that had some shortcomings with Coccinelle
that we are looking to address. Legacy backports also had an INFO file
in its directory, we keep it around for now for this series as we have
one legacy patch lingering around still but since Coccinelle lets us
put comments on top and the series is for all drivers we can just rely
on the comment section of an SmPL patch for this as patches get
translated.
3) Rename of 09-threaded-irq/drivers_net_wireless_ti_wlcore_main_extra.patch
to
0016-threaded-irq-one-shot.patch
This patch is kept as it deals with driver specific IRQ changes
which are completely unrelated to the 09-threaded-irq series but that
we had tucked under in the older legacy backport. Because of this
we make emphasis by moving out out under the series. This can be
generalized as another backport series if other drivers wish to
backport.
This new seires backports commit
b25c340c1 added by Thomas through kernel
v2.6.32 which added support for IRQF_ONESHOT. This lets drivers that use
threaded IRQ support to request that the IRQ is not masked after the
hard interrupt handler as this requires device access in hard IRQ
context and for buses such as i2c and spi this at times is not
possible.
Note that the TI driver uses this when a platform quirk with
WL12XX_PLATFORM_QUIRK_EDGE_IRQ is detected. In retrospect this quirk
does not seem backportable unless IRQF_ONESHOT is really not a requirement,
but desired. If WL12XX_PLATFORM_QUIRK_EDGE_IRQ is indeed a requirement
for IRQF_ONESHOT then we should not probe complete. Its unclear
if this is a universal thing or not.
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
b25c340c1
v2.6.32-rc1~722^2~3
4) 0015-threaded-irq/drivers_net_wireless_iwlwifi_iwl-trans.patch
A data structure change to struct iwl_trans is not being done
by Coccinelle given that the driver's Makefile for iwlwifi uses
this for its includes:
ccflags-y += -D__CHECK_ENDIAN__ -I$(src)
Coccinelle doesn't pick up on this even if we use --recursive-includes.
This issue has been reported. An interesting thing about this is that
struct iwl_trans was *not* used before this patch which is why you see
the removal of the file drivers_net_wireless_iwlwifi_pcie_internal.patch
and as a replacement have added drivers_net_wireless_iwlwifi_iwl-trans.patch.
What happened is Coccinelle is consistent and the change, as expressed
in grammar, which reveleas that we were *not* consistent with our manual
backport! The older backport still worked though as it did not really
matter what data structure got changed so long as its an internal data
structure. This also means this backport could be modified to use
a generic backport data structure, which we don't yet have but could
be a good idea to stuff in general backport data structure extensions,
which we typically have not been able to address through backports
unless we use #ifdef's. This would however require some sort of driver
specific backport_device_alloc(), backport_device_init() and a respective
backport_device_free(). The overhead would need to be considered unless
some fancy trickery is introduced. Since 09-threaded-irq is a backport
for kernels >= 2.6.31 I don't recommend we consider this now. The effort
for using SmPL for this series was done simply as a way to demonstrate
the power of Coccinelle.
5) Space fixes for extra code on Coccinelle modified branches:
This SmPL patch does some space modifications on the wil6210 [0], the reason
could be that Coccinelle is introducing some code on a branch and when it
detects this it puts the code it is adding with braces. This is another
great feature of Coccinelle but the space fixes that Julia has completed
may not be treated in that situation yet.
6) This requires at least spatch 1.0.0-rc20.
[0] hunk in question shown below:
@@ -499,11 +518,21 @@ int wil6210_init_irq(struct wil6210_priv *wil, int irq)
int rc;
if (wil->n_msi == 3)
rc = wil6210_request_3msi(wil, irq);
- else
+ else {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
rc = request_threaded_irq(irq, wil6210_hardirq,
- wil6210_thread_irq,
- wil->n_msi ? 0 : IRQF_SHARED,
- WIL_NAME, wil);
+ wil6210_thread_irq,
+ wil->n_msi ? 0 : IRQF_SHARED,
+ WIL_NAME, wil);
+#else
+ rc = compat_request_threaded_irq(&wil->irq_compat, irq,
+ wil6210_hardirq,
+ wil6210_thread_irq,
+ wil->n_msi ? 0 :
IRQF_SHARED,
+ WIL_NAME,
+ wil);
+#endif
+ }
if (rc)
return rc;
Code generation time:
real 1m6.023s
user 10m0.276s
sys 0m26.196s
$ time ckmake --allyesconfig
1 2.6.25 [ OK ]
2 2.6.26 [ OK ]
3 2.6.27 [ OK ]
4 2.6.28 [ OK ]
5 2.6.29 [ OK ]
6 2.6.30 [ OK ]
7 2.6.31 [ OK ]
8 2.6.32 [ OK ]
9 2.6.33 [ OK ]
10 2.6.34 [ OK ]
11 2.6.35 [ OK ]
12 2.6.36 [ OK ]
13 2.6.37 [ OK ]
14 2.6.38 [ OK ]
15 2.6.39 [ OK ]
16 3.0.101 [ OK ]
17 3.1.10 [ OK ]
18 3.2.54 [ OK ]
19 3.3.8 [ OK ]
20 3.4.79 [ OK ]
21 3.5.7 [ OK ]
22 3.6.11 [ OK ]
23 3.7.10 [ OK ]
24 3.8.13 [ OK ]
25 3.9.11 [ OK ]
26 3.10.29 [ OK ]
27 3.11.10 [ OK ]
28 3.12.10 [ OK ]
29 3.13.2 [ OK ]
30 3.14-rc1 [ OK ]
real 41m12.052s
user 1125m30.996s
sys 151m39.096s
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Thu, 3 Apr 2014 23:30:16 +0000 (23:30 +0000)]
backports: backports: reshufle the threaded IRQ backport series
This reshufles the patches that deal with backported threaded
IRQ support. The purpose of this reshufle is to try get them
into a consistent style. Only the b43 driver takes a major
change in that the the workqueue used for threading work
is now also destroyed upon its b43_wireless_core_stop() call.
This change was tested by pkgadd from #linux-wireless on b43 on
an older kernel. The b43 driver just fails to unload but that
issue was present before this change.
The non-general changes to the b43 driver are also moved
out to a helper patch to help separate the general
collateral evolution changes from driver specific required
changes.
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 29 Mar 2014 22:09:57 +0000 (22:09 +0000)]
backports: refresh patches based on next-
20140311
1 2.6.25 [ OK ]
2 2.6.26 [ OK ]
3 2.6.27 [ OK ]
4 2.6.28 [ OK ]
5 2.6.29 [ OK ]
6 2.6.30 [ OK ]
7 2.6.31 [ OK ]
8 2.6.32 [ OK ]
9 2.6.33 [ OK ]
10 2.6.34 [ OK ]
11 2.6.35 [ OK ]
12 2.6.36 [ OK ]
13 2.6.37 [ OK ]
14 2.6.38 [ OK ]
15 2.6.39 [ OK ]
16 3.0.101 [ OK ]
17 3.1.10 [ OK ]
18 3.2.54 [ OK ]
19 3.3.8 [ OK ]
20 3.4.79 [ OK ]
21 3.5.7 [ OK ]
22 3.6.11 [ OK ]
23 3.7.10 [ OK ]
24 3.8.13 [ OK ]
25 3.9.11 [ OK ]
26 3.10.29 [ OK ]
27 3.11.10 [ OK ]
28 3.12.10 [ OK ]
29 3.13.2 [ OK ]
30 3.14-rc1 [ OK ]
Generation time:
real 1m32.523s
user 23m51.796s
sys 0m28.872s
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Mon, 31 Mar 2014 07:20:25 +0000 (07:20 +0000)]
backports: backport ieee802154 6lowpan support down to 3.5
Commit
633fc86ff62 added the ieee802154_6lowpan namespace
and
7240cdec60b extended it (as on linux-next next-
20140311).
Its important to note though that
633fc86ff62 also extends the
global net namespace. Since we cannot extend the global net
namespace we define our own backport namespace for 6lowpan
that can be used only be used by our backported subsystems,
nothing more. Since ieee802154_6lowpan requires support for
net_get_random_once() which uses static keys and a slew of
new skb fragment support we simply require at least 3.5 to
use 6lowpan. I did my best effort to backport this to kernels
older than 3.5 but quickly ran into a slew of hairy issues.
The last thing we needed to address was usage of the helper
inet_frag_evictor() added by Alexander via commit
6b102865e7
through v3.7. Since we can't backport that with macros or
inline helpers we add a patch to carry the changes there. If
that grows we can consider using Coccinelle.
If you are going to try to backport 6lowpan to kernels older
than 3.5 be warned that the litmus test for patches will be
to pass ckmake --allyesconfig for all supported kernels for
every patch you provide.
Cc: Alexander Aring <alex.aring@gmail.com>
Cc: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Amerigo Wang <amwang@redhat.com>
Cc: linux-zigbee-devel@lists.sourceforge.net
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 1 Apr 2014 22:30:43 +0000 (22:30 +0000)]
backports: 6lowpan domain specific backport of inet_frag_lru_move()
We can't generalize a backport of inet_frag_lru_move() as
it requires modifying an internal struct netns_frags struct.
We work around this by extending the parent struct used within
6lowpan. We have two changes, one data structure change
and then a domain specific defines. Other subsystems which
require similar work can backport usage through similar
techniques.
The respective change upstream that put the lock on
struct netns_frags is commit
3ef0eb0db4 added by
through v3.9.
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
3ef0eb0db4
v3.9-rc1~139^2~232^2
commit
3ef0eb0db4bf92c6d2510fe5c4dc51852746f206
Author: Jesper Dangaard Brouer <brouer@redhat.com>
Date: Mon Jan 28 23:45:51 2013 +0000
net: frag, move LRU list maintenance outside of rwlock
Updating the fragmentation queues LRU (Least-Recently-Used) list,
required taking the hash writer lock. However, the LRU list isn't
tied to the hash at all, so we can use a separate lock for it.
Original-idea-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Jesper Dangaard Brouer <brouer@redhat.com>
Cc: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: linux-zigbee-devel@lists.sourceforge.net
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sun, 30 Mar 2014 00:26:26 +0000 (00:26 +0000)]
backports: backport net_get_random_once()
Commit
a48e4292 introduced as of v3.13 is used by 6lowpan which
we backport. We carry this over for older kernels that don't
define it -- but we remain sane by requiring at least 3.5 which is
where tons of the jump label / static key stuff seems to have last
settled. Backporting this to any older kernel than 3.5 has a huge
string of dependencies which although I was able to resovle the
other depdendencies on 6lowpan on new net core re-architecture on
skb fragment reassembly makes it pointless to carry. Mark my words:
!! do not try to backport this to kernels older than 3.5 !!
mcgrof@ergon ~/linux (git::master)$ git describe --contains
a48e4292
v3.13-rc1~105^2~157^2~4
commit
a48e42920ff38bc90bbf75143fff4555723d4540
Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
Date: Sat Oct 19 21:48:55 2013 +0200
net: introduce new macro net_get_random_once
Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: linux-zigbee-devel@lists.sourceforge.net
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sun, 30 Mar 2014 03:05:32 +0000 (03:05 +0000)]
backports: address jump label and static key support
The ieee802154 subsystem, which we backport, makes use of
net_get_random_once() through net/ieee802154/reassembly.c
and this in turn makes use of the static keys. Static keys
were split out from the jump label support via commit
c5905afb
by Ingo through kernel v3.3 -- note that git describe --contains
will disagree and say its v3.5. Jump label support was added by
Jason via commit
bf5438fc through kernel v2.6.37 but later
Jason provided static branch optimizations via commit
d430d3d7e
added through v3.0. static_key_initialized and STATIC_KEY_CHECK_USE()
were last added by Hannes through kernel v3.13 throughy
c4b2c0c5f.
In order to backport static keys and jump label we need to
provide name mapping for kernels that only had jump label support,
but due to the static branch optimizations and since these are
architecture specific we cannot backport them unless we start carrying
around architecture replacement code -- or do some other trickery.
For kernels that lacked jump label support and that don't have the
static branch optimizations we simply carry in the kernel implmentation
that assumes you have no architecture support for jump label which
treats the labels as simply atomic drivers for branches. For older
kernels then we don't backport usage of static_key_initialized and
usage of STATIC_KEY_CHECK_USE().
This does leave a gap of kernels without static key / jump label
support, I tried backporting it but ran into issues quickly. Those
daring to continue to embark on this journey can pick up where
I left off:
[0] drvbp1.linux-foundation.org/~mcgrof/examples/2014/04/01/backport-static-keys.patch
I will note that properly backporting this can have implications on how
we backport tracing support as that is the main usage for jump labels.
Real enthusiasts can go ahead an extend this with architecture / kernel
revision specific changes -- but be warned -- we will have hard litmus
test for compilation on backports using ckmake --allyesconfig on all
supported kernels we carry.
This is a long way of saying -- we require at least 3.5 for static
key support, we also support kernels older than 2.6.37 but this goes
untested.
mcgrof@ergon ~/linux (git::master)$ git describe --contains
bf5438fc
v2.6.37-rc1~214^2~33^2~8
mcgrof@ergon ~/linux (git::master)$ git describe --contains
d430d3d7e
v3.0-rc1~404^2~18^2~2
mcgrof@ergon ~/linux (git::master)$ git describe --contains
c5905afb
v3.5-rc1~120^3~76^2 -- wrong! Its actually v3.3 try:
git checkout -b static-changes
c5905afb; git describe
mcgrof@ergon ~/linux (git::master)$ git describe --contains
c4b2c0c5f
v3.13-rc1~105^2~157^2~6
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Jason Baron <jbaron@redhat.com>
CC: Jason Baron <jbaron@redhat.com>
Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: linux-zigbee-devel@lists.sourceforge.net
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 29 Mar 2014 23:27:01 +0000 (23:27 +0000)]
backports: address move of 6lowpan.c to 6lowpan_rtnl.c
Commit
01348b3448 moved 6lowpan.c to 6lowpan_rtnl.c
which means we have to adjust the respective backport
patches.
commit
01348b34485eceace5d9ca9756ba40679cf22ac6
Author: Alexander Aring <alex.aring@gmail.com>
Date: Fri Feb 28 07:32:47 2014 +0100
6lowpan: move 6lowpan.c to 6lowpan_rtnl.c
We have a 6lowpan.c file and 6lowpan.ko file. To avoid confusing we
should move 6lowpan.c to 6lowpan_rtnl.c. Then we can support multiple
source files for 6lowpan module.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Alexander Aring <alex.aring@gmail.com>
Cc: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: linux-zigbee-devel@lists.sourceforge.net
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 29 Mar 2014 22:20:57 +0000 (22:20 +0000)]
backports: add include/net/6lowpan.h to copy-list
We backport both the bluetooth and ieee802154 subsystems
and commit
cefc8c8a7c moved the 6lowpan it out under from
net/ieee802154/6lowpan.h to include/net/6lowpan.h as bluetooth
now uses it. Since we backport both subsystems just copy the
header over.
commit
cefc8c8a7c9e4867c45407f7f9a44fe80c5ea58a
Author: Alexander Aring <alex.aring@gmail.com>
Date: Wed Mar 5 14:29:05 2014 +0100
6lowpan: move 6lowpan header to include/net
This header is used by bluetooth and ieee802154 branch. This patch
move this header to the include/net directory to avoid a use of a
relative path in include.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Alexander Aring <alex.aring@gmail.com>
Cc: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: linux-zigbee-devel@lists.sourceforge.net
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Wed, 2 Apr 2014 12:13:05 +0000 (12:13 +0000)]
backports: add Coccinelle SmPL profiling support to gentree.py
This adds support to let you pass --profile when running Coccinelle.
This will skip all patches, rewriting Makefiles, Kconfigs, etc, and
it will also keep a copy of the original src directory prior to
applying the spatch. You pass the spatch file as an argument when
using this.
Screenshot of relevant output on 11-dev-pm-ops.cocci:
$ time ./gentree.py --clean --verbose --profile-cocci 11-dev-pm-ops.cocci \
/home/mcgrof/linux-next/ \
/home/mcgrof/build/backports-
20140311
Copy original source files ...
Apply patches ...
Profiling Coccinelle SmPL patch: 11-dev-pm-ops.cocci
Applying SmPL patch collateral-evolutions/network/11-dev-pm-ops.cocci
> init_defs_builtins: /usr/local/share/coccinelle/standard.h
> warning: line 15: should pci be a metavariable?
> (ONCE) Expected tokens pm pci_driver driver pci SIMPLE_DEV_PM_OPS
> MODULE_DEVICE_TABLE
> Skipping:./net/mac802154/ieee802154_dev.c
> Skipping:./net/mac802154/mac_cmd.c
> Skipping:./net/mac802154/mib.c
> Skipping:./net/mac802154/monitor.c
> Skipping:./net/mac802154/rx.c
> Skipping:./net/mac802154/tx.c
> Skipping:./net/mac802154/wpan.c
> starting: Common.group_assoc_bykey_eff
> ending: Common.group_assoc_bykey_eff, 0.000114s
> ---------------------
> profiling result
> ---------------------
> Main total : 0.584 sec 1 count
> parse cocci : 0.422 sec 1 count
> pre_engine : 0.422 sec 1 count
> Main.infiles computation : 0.156 sec 1 count
> HACK : 0.069 sec 1 count
> C parsing.tokens : 0.043 sec 1 count
> C parsing.fix_define : 0.022 sec 1 count
> get_glimpse_constants : 0.021 sec 1 count
> C parsing.lex_ident : 0.006 sec 673 count
> Common.full_charpos_to_pos_large : 0.006 sec 1 count
> Main.outfiles computation : 0.004 sec 1 count
> worth_trying : 0.004 sec 7 count
> Common.full_charpos_to_pos : 0.003 sec 2 count
> Common.=~ : 0.000 sec 4 count
> check_duplicate : 0.000 sec 1 count
> Main.result analysis : 0.000 sec 1 count
> Common.group_assoc_bykey_eff : 0.000 sec 1 count
> asttoctl2 : 0.000 sec 1 count
> post_engine : 0.000 sec 1 count
> show_xxx : 0.000 sec 2 count
This goes on... and a page per thread spawned and the results will be
specific to the files tha the thread worked on. On the above results
we can see Coccinelle spent little to no time working on the above
files as it determined it had nothing to do there.
On big iron backports server:
real 0m31.226s
user 7m25.712s
sys 0m34.492s
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Wed, 2 Apr 2014 10:18:10 +0000 (10:18 +0000)]
backports: add support for testing only a single Coccinelle SmPL patch
You can just pass now one cocci file with the --test-cocci to test
only that single Coccinelle SmPL patch. If you are not sure what
an SmPL patch produces and you only want to study the results of
applying only a single SmPL patch you can use this flag to trigger
enabling git on the target directory, a commit will be done before
applying the SmPL patch and then another commit will be performed
after the SmPL patch is applied. You can then use git show as you'd
expect to inspect the results.
Note that if you don't use --test-cocci and run gentree.py regularly
you can always still use --git-debug to see atomically what is happening
after each patch, including Coccinelle patches.
This modifies the coccinelle library to use 10 * num_cpus threads
for when in testing Coccinelle mode.
$ time ./gentree.py --clean --verbose --test-cocci 11-dev-pm-ops.cocci \
/home/mcgrof/linux-next/ \
/home/mcgrof/build/next-
20140311
real 0m28.964s
user 6m57.848s
sys 0m25.124s
Note that you can pass either a full path or the file name alone
of the target Coccinelle SmPL patch you want to test.
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Wed, 2 Apr 2014 11:38:16 +0000 (11:38 +0000)]
backports: add git diff support to lib/bpgit.py
This will be used later for proving SmPL patches against
legacy patch series.
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Wed, 2 Apr 2014 10:44:42 +0000 (10:44 +0000)]
backports: use --ignore-removal for git add
As of git 2.0 --ignore-removal is no longer default so just
make it default tool, without which git will warn us about
this change.
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Mon, 31 Mar 2014 11:26:54 +0000 (11:26 +0000)]
backports: add threaded Coccinelle spatch support
Turns out Coccinelle has threaded support, it lets you
break down the target code you need to parse for a spatch
file into separate buckets, each bucket handling a subset of
the target files needed to be evaluated. This adds support
for that and shaves down the amount of time it gets to
generate target code by 97.19%.
Using:
mcgrof@drvbp1 ~/backports (git::master)$ time \
./gentree.py --verbose \
--clean \
--refresh \
/home/mcgrof/linux-next/ \
/home/mcgrof/build/next-
20140311
Before this patch:
real 19m34.867s
user 18m43.492s
sys 0m21.244s
After this patch by using num_cpus threads:
real 2m42.012s
user 21m53.616s
sys 0m22.748s
After this patch by using 3 * num_cpus threads:
real 1m33.316s
user 24m6.080s
sys 0m28.264s
Using num_cpus threads alone was giving 2m42.012s, its why I
experimented in increasing this. I also experimented with
6 * num_cpus threads as well but the amount of time spent
running didn't reduce, lets keep this at 3 * num_cpus for now
and we can experiment and empirically find the best setting for
any system or just make this configurable.
We had SmPL patch integration first committed via
86d99c9d4 back then we were able to scale to a reasonable
similar time:
mcgrof@drvbp1 ~/backports (git::cocci-added)$ time \
./gentree.py --verbsose \
--clean \
--refresh \
/home/mcgrof/linux-next
/home/mcgrof/build/next-
20131113
real 1m1.967s
user 0m49.304s
sys 0m11.880s
For history's purpose here's our run time without Coccinelle on
commit
338c4388cc:
mcgrof@drvbp1 ~/backports (git::before-smpl)$ time \
./gentree.py --verbose \
--clean \
--refresh \
/home/mcgrof/linux-next/ \
/home/mcgrof/build/next-
20131029
real 0m29.639s
user 0m17.508s
sys 0m11.568s
This new changes sets us back on track with the timing for when we first
introduced Coccinelle support we just have a lot 5 Coccinelle patches
now. I hope this shows we should be able to scale with Coccinelle much more
efficiently for collateral evolutions that sprinkle through tons of
files.
Screenshots available using htop before [0] and after the patch [1]
while coccinelle is running, this shows how the system is using
resources much more efficiently when doing spatch evaluation for
patch generation on target code.
[0] http://drvbp1.linux-foundation.org/~mcgrof/images/coccinelle-backports/before-threaded-cocci.png
[1] http://drvbp1.linux-foundation.org/~mcgrof/images/coccinelle-backports/after-threaded-cocci.png
Cc: Peter Senna <peter.senna@gmail.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>
Cc: Gilles Muller <Gilles.Muller@lip6.fr>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Wed, 2 Apr 2014 00:54:30 +0000 (00:54 +0000)]
backports: backport inet_frag_maybe_warn_overflow()
This is used by the ieee802154 reassembly code. This is
a straight forward backport.
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
5a3da1fe95
v3.9-rc4~27^2
commit
5a3da1fe9561828d0ca7eca664b16ec2b9bf0055
Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
Date: Fri Mar 15 11:32:30 2013 +0000
inet: limit length of fragment queue hash table bucket lists
This patch introduces a constant limit of the fragment queue hash
table bucket list lengths. Currently the limit 128 is choosen somewhat
arbitrary and just ensures that we can fill up the fragment cache with
empty packets up to the default ip_frag_high_thresh limits. It should
just protect from list iteration eating considerable amounts of cpu.
If we reach the maximum length in one hash bucket a warning is printed.
This is implemented on the caller side of inet_frag_find to distinguish
between the different users of inet_fragment.c.
I dropped the out of memory warning in the ipv4 fragment lookup path,
because we already get a warning by the slab allocator.
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Jesper Dangaard Brouer <jbrouer@redhat.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 1 Apr 2014 21:32:38 +0000 (21:32 +0000)]
backports: backport frag helper functions for mem limit tracking
Jesper added frag helper functions through commit
d433673e5f
added on. This is a straight forward backport using the LINUX_BACKPORT()
namespace.
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
d433673e5f
v3.9-rc1~139^2~232^2~2
commit
d433673e5f9180e05a770c4b2ab18c08ad51cc21
Author: Jesper Dangaard Brouer <brouer@redhat.com>
Date: Mon Jan 28 23:45:12 2013 +0000
net: frag helper functions for mem limit tracking
This change is primarily a preparation to ease the extension of memory
limit tracking.
The change does reduce the number atomic operation, during freeing of
a frag queue. This does introduce a some performance improvement, as
these atomic operations are at the core of the performance problems
seen on NUMA systems.
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 1 Apr 2014 21:22:41 +0000 (21:22 +0000)]
backports: backport skb_unclone()
Pravin added this via commit
14bbd6a565 through v3.9. This is
a straight forward backport using the LINUX_BACKPORT() namespace.
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
14bbd6a565
v3.9-rc1~139^2~56
commit
14bbd6a565e1bcdc240d44687edb93f721cfdf99
Author: Pravin B Shelar <pshelar@nicira.com>
Date: Thu Feb 14 09:44:49 2013 +0000
net: Add skb_unclone() helper function.
This function will be used in next GRE_GSO patch. This patch does
not change any functionality.
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Cc: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 1 Apr 2014 19:43:37 +0000 (19:43 +0000)]
backports: backport definition of struct frag_queue
Commit
b836c99f by Amerigo which got added on v3.7 generalized
the conntrack struct frag_queue while unifying the conntrack
reassembly expire code with a standard one. Although we won't
use the expiry code, another subsystem which we backport, the
ieee802154 6lowpan subsystem, makes use of this structure for
its own reassembly code. This makes that structure available
for older kernels.
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
b836c99f
v3.7-rc1~145^2~136
Cc: Amerigo Wang <amwang@redhat.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 29 Mar 2014 23:04:12 +0000 (23:04 +0000)]
backports: define ETH_P_80221
This is used by the bluetooth and ieee802154 subsystems later
and added via commit
b62faf3c available on next-
20140311.
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sun, 30 Mar 2014 00:49:31 +0000 (00:49 +0000)]
backports: bump drivers dependency that require I2C bus classes
Drivers that depend on I2C bus segments behind multiplexers to
have a class require quite a bit of collateral changes that I
don't have time to address. For those interested in trying to backport
this see commit
eee543e8. This bumps the drivers that depend on this
that we carry to require at least v3.7 when this collateral evolution
was introduced. One driver is affected, rtl2832 -- defined under
CONFIG_DVB_RTL2832.
mcgrof@ergon ~/linux (git::master)$ git describe --contains
eee543e82481
v3.7-rc1~92^2~14
commit
eee543e8248150e8fb833943c71f40c7b1724600
Author: Jean Delvare <khali@linux-fr.org>
Date: Fri Oct 5 22:23:51 2012 +0200
i2c-mux: Add support for device auto-detection
Let I2C bus segments behind multiplexers have a class. This allows for
device auto-detection on these segments. As long as parent segments
don't share the same class, it should be fine.
I implemented support in drivers i2c-mux-gpio and i2c-mux-pca954x. I
left i2c-mux-pca9541 and i2c-mux-pinctrl alone for the moment as I
don't know if this feature makes sense for the use cases of these
drivers.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Peter Korsgaard <peter.korsgaard@barco.com>
Cc: David Daney <david.daney@cavium.com>
Cc: Michael Lawnick <ml.lawnick@gmx.de>
Cc: Rodolfo Giometti <giometti@linux.it>
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Tue, 1 Apr 2014 19:14:29 +0000 (19:14 +0000)]
backports: bump kernel reqs for WL1251_SDIO and WLCORE_SDIO
There has been quite a bit of updates to the gpio driver library,
and while we can backport some of this it doesn't make much sense
as folks using this driver are expected to be carrying over the
required architecture changes. In particular the GPIO_DEVRES has
been tucked under GPIO_LIB and later removed from depending on it
(see
b69ac5244 and
6a89a314a)
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
6a89a314a
v3.9-rc1~76^2~12^2~13
mcgrof@ergon ~/linux-next (git::master)$ git describe --contains
b69ac5244
v3.13-rc1~120^2~7
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sun, 30 Mar 2014 00:31:55 +0000 (00:31 +0000)]
backports: make WL1251_SPI depend on >= 3.5
The WL1251_SPI driver now depends on EPROBE_DEFER and others which
we canot backports that pushes it to require 3.4 but since it also
relies on devm_gpio_request_one() we bump it to 3.5. The gpio layer
has received quite a bit of updates and it doesn't make sense to
backport them separately.
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Sat, 29 Mar 2014 22:05:11 +0000 (22:05 +0000)]
backports: backport MPLS support
This simply the files that define the structures and
defines used to decode MPLS on the skb. For an example
usage see
960d97f95. The headers were added first via
f3baa393ff.
commit
f3baa393ffc9a7aefc0bf767729382085e81f606
Author: Simon Wunderlich <sw@simonwunderlich.de>
Date: Mon Mar 3 17:23:11 2014 +0100
UAPI: add MPLS label stack definition
Labels for the Multiprotocol Label Switching are defined in RFC 3032
which was superseded by RFC 5462. Add the definition to UAPI and a stub
header for include/linux.
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
commit
960d97f9518ef6fb8ff87450d6b0c88ce5df9532
Author: Simon Wunderlich <sw@simonwunderlich.de>
Date: Mon Mar 3 17:23:12 2014 +0100
cfg80211: add MPLS and 802.21 classification
MPLS labels may contain traffic control information, which should be
evaluated and used by the wireless subsystem if present.
Also check for IEEE 802.21 which is always network control traffic.
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Eliad Peller [Mon, 3 Mar 2014 11:34:21 +0000 (13:34 +0200)]
backports: ifdef some pci functions
struct msix_entry entry is defined only when CONFIG_PCI
is defined, resulting in warnings like:
backport-include/linux/pci.h:256:16: warning: 'struct msix_entry' declared inside parameter list [enabled by default]
backport-include/linux/pci.h:256:16: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
wrap (also the mock function) with appropriate ifdef CONFIG_PCI.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Johannes Berg [Thu, 27 Feb 2014 17:37:49 +0000 (18:37 +0100)]
backports: add crypto/ccm backport
This seems to commonly be missing in the random kernels
people use, so just provide a backport.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Johannes Berg [Fri, 21 Mar 2014 08:36:33 +0000 (09:36 +0100)]
backports: fix compilation with CONFIG_OF
There are two users of of_find_property_value_of_size() which is
originally static in the kernel, but we need it exposed (but not
exported) so that multiple backport files can use it; do that.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Hauke Mehrtens [Fri, 21 Feb 2014 19:39:27 +0000 (20:39 +0100)]
backports: refresh patches on next-
20140221
manual changes were needed on these files:
* patches/backport-adjustments/flow_dissector.patch
* patches/collateral-evolutions/network/16-bluetooth/net_bluetooth_hidp_core.patch
* patches/collateral-evolutions/network/83-select_queue/mac80211.patch
* patches/collateral-evolutions/network/83-select_queue/mwifiex.patch
* patches/collateral-evolutions/network/85-hid_ll_driver/net_bluetooth_hidp_core.patch
1 2.6.25 [ OK ]
2 2.6.26 [ OK ]
3 2.6.27 [ OK ]
4 2.6.28 [ OK ]
5 2.6.29 [ OK ]
6 2.6.30 [ OK ]
7 2.6.31 [ OK ]
8 2.6.32 [ OK ]
9 2.6.33 [ OK ]
10 2.6.34 [ OK ]
11 2.6.35 [ OK ]
12 2.6.36 [ OK ]
13 2.6.37 [ OK ]
14 2.6.38 [ OK ]
15 2.6.39 [ OK ]
16 3.0.101 [ OK ]
17 3.1.10 [ OK ]
18 3.2.54 [ OK ]
19 3.3.8 [ OK ]
20 3.4.79 [ OK ]
21 3.5.7 [ OK ]
22 3.6.11 [ OK ]
23 3.7.10 [ OK ]
24 3.8.13 [ OK ]
25 3.9.11 [ OK ]
26 3.10.29 [ OK ]
27 3.11.10 [ OK ]
28 3.12.10 [ OK ]
29 3.13.2 [ OK ]
30 3.14-rc1 [ OK ]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sat, 22 Feb 2014 21:32:45 +0000 (22:32 +0100)]
backports: remove usage of net_device member qdisc_tx_busylock
This member was added ion more recent kernel versions.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sat, 22 Feb 2014 20:54:26 +0000 (21:54 +0100)]
backports: add NLA_S{9,16,32,64}
This is needed by net/ieee802154/nl_policy.c
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sun, 23 Feb 2014 14:57:38 +0000 (15:57 +0100)]
backports: add of_property_read_u32_index()
This is needed by drivers/regulator/gpio-regulator.c
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sat, 22 Feb 2014 22:37:46 +0000 (23:37 +0100)]
backports: add of_property_count_u32_elems()
This is needed by drivers/regulator/gpio-regulator.c
This also adds of_property_count_elems_of_size()
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sat, 22 Feb 2014 21:42:17 +0000 (22:42 +0100)]
backports: add devm_kstrdup()
This is needed by drivers/regulator/fixed.c
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sat, 22 Feb 2014 22:37:32 +0000 (23:37 +0100)]
backports: add pci_enable_msix_range()
This is needed by drivers/net/ethernet/intel/igb/igb_main.c
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sat, 22 Feb 2014 20:46:52 +0000 (21:46 +0100)]
backports: add pci_enable_msi_range()
This is needed by drivers/net/wireless/ath/wil6210/pcie_bus.c
pci_enable_msi_block() was added in kernel 2.6.30, so this does not
work on older kernel versions.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sat, 22 Feb 2014 20:42:07 +0000 (21:42 +0100)]
backports: add snd_card_new()
This is needed by drivers/media/pci/cx18/cx18-alsa-main.c
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Sat, 22 Feb 2014 20:30:51 +0000 (21:30 +0100)]
backports: add VHCI_MINOR
This is needed by drivers/bluetooth/hci_vhci.c
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Hauke Mehrtens [Fri, 21 Feb 2014 17:59:25 +0000 (18:59 +0100)]
backports: add atomic64_set()
atomic64_set() is now used by mac80211 and it is not available on some
old arm kernels.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>