aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2014-05-01backports: select_queue patch: fix callback kernel versionHEADmasterJohannes Berg1-2/+2
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>
2014-05-01backports: lib: remove raising ExecutionError exceptionArend van Spriel1-7/+0
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>
2014-05-01backports: fix igb patch for next-20140501Luis R. Rodriguez1-8/+6
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>
2014-05-01backports: devel/backports-update-manager: fix for older shutil.moveLuis R. Rodriguez1-6/+14
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>
2014-05-01backports: remove two upstream patchesLuis R. Rodriguez2-150/+0
Two changes to help with backports were merged upstream so nuke 'em. Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
2014-05-01backports: add ckmake binary requirementsLuis R. Rodriguez1-0/+13
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
2014-05-01backports: run autopep8 on ckmakeLuis R. Rodriguez1-478/+519
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>
2014-05-01backports: add gentree.py binary requirementsLuis R. Rodriguez1-0/+12
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
2014-05-01backports: add backports-update-manager binary requirementsLuis R. Rodriguez1-0/+9
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
2014-05-01backports: add a Python binary package dependency libraryLuis R. Rodriguez1-0/+209
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>
2014-05-01Makefile: add savedefconfig target.Avery Pennarun1-0/+5
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>
2014-05-01gentree: strip useless defconfig filesJohannes Berg1-1/+24
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>
2014-05-01backports: remove IWLWIFI_P2P from iwlwifi defconfigJohannes Berg1-1/+0
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>
2014-05-01backports: remove more old ifdef/compat codeJohannes Berg12-267/+1
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>
2014-05-01backports: remove mac80211.hJohannes Berg1-8/+0
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>
2014-05-01backports: ifdef code already present in RHEL7.0Stefan Assmann3-2/+4
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>
2014-05-01backports: add linux/of_graph.h to copy-listStefan Assmann1-0/+1
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>
2014-05-01backports: wrap dma_set_mask_and_coherent in LINUX_BACKPORT()Stefan Assmann1-0/+1
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>
2014-05-01git-tracker: restrict shortlog to existing filesJohannes Berg2-61/+60
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>
2014-04-17backports: refresh patches for next-20140415linux-3.15.yLuis R. Rodriguez5-14/+14
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>
2014-04-17backports: formalize struct sock sk_data_ready() backport with SmPLLuis R. Rodriguez1-0/+117
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>
2014-04-17backports: pycocci - make the Coccinelle wrapper a standalone toolLuis R. Rodriguez3-97/+194
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>
2014-04-17backports: add a 120 second timeout rule to CoccinelleLuis R. Rodriguez1-0/+1
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>
2014-04-17backports: Use Coccinelle --relax-include-pathLuis R. Rodriguez1-0/+1
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>
2014-04-17backports: use --use-coccigrep for CoccinelleLuis R. Rodriguez2-7/+3
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>
2014-04-17backports: transform group attribute backport to SmPL formLuis R. Rodriguez8-182/+166
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>
2014-04-17backports: revert unification of cocci filesLuis R. Rodriguez1-38/+26
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>
2014-04-17backports: refresh patches for next-20140409 and next-20140411Luis R. Rodriguez23-48/+48
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>
2014-04-17backports: nuke support for kernels < 3.0Luis R. Rodriguez337-13146/+157
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>
2014-04-17backports: backport define of SIOCGHWTSTAMPLuis R. Rodriguez1-0/+31
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>
2014-04-17backports: backport dev_consume_skb_any()Luis R. Rodriguez1-0/+62
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>
2014-04-17backports: adjust flow_dissector.patchLuis R. Rodriguez1-5/+5
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>
2014-04-17backports: drop display output class supportLuis R. Rodriguez1-1/+0
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>
2014-04-17backports: device: don't redefine DEVICE_ATTR_ROArik Nemtsov1-0/+2
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>
2014-04-17backports: add napi_gro_flush()Johannes Berg1-0/+1
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>
2014-04-17backports: add hwsim defconfigJohannes Berg1-0/+12
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>
2014-04-08backports: refresh patches for next-20140320Luis R. Rodriguez26-74/+73
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>
2014-04-08backports: backport 3.6 fix on non CONFIG_COMMON_CLK kernelsLuis R. Rodriguez2-0/+104
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>
2014-04-08backports: add kernel base requirement of 3.5 to IR_IMGLuis R. Rodriguez1-0/+2
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>
2014-04-08backports: make IEEE802154_AT86RF230 depend require 3.3.Luis R. Rodriguez1-0/+1
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>
2014-04-08backports: bump NFC_TRF7970A requirements to 3.5Luis R. Rodriguez1-0/+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>
2014-04-08backports: disable DVB_RTL2832 and DVB_USB_RTL28XXULuis R. Rodriguez1-2/+7
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>
2014-04-08backports: bump kernel requirements for drivers that use s2mps14.hLuis R. Rodriguez1-2/+11
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>
2014-04-08backports: add GRO_* enums, and its new gro_result_t typedefLuis R. Rodriguez1-0/+40
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>
2014-04-08backports: complete backport of translation of MMD EEE registersLuis R. Rodriguez1-0/+29
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>
2014-04-08backports: complete backport of frag size accessorsLuis R. Rodriguez1-0/+12
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>
2014-04-08backports: backport skb_set_hash()Luis R. Rodriguez1-0/+46
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>
2014-04-08backports: backport APIs for manipulating skb page fragmentsLuis R. Rodriguez1-0/+159
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>
2014-04-08backports: backport u64_stats_fetch_begin_irq() and u64_stats_fetch_retry_irq()Luis R. Rodriguez1-13/+10
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>
2014-04-08backports: enhance 0001-netdev_ops.cocci with data structure specificsLuis R. Rodriguez2-4/+5
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>
2014-04-08backports: convert threaded IRQ suport into an SmPL patchLuis R. Rodriguez11-183/+126
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>
2014-04-08backports: backports: reshufle the threaded IRQ backport seriesLuis R. Rodriguez5-61/+64
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>
2014-04-08backports: refresh patches based on next-20140311Luis R. Rodriguez49-146/+146
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>
2014-04-08backports: backport ieee802154 6lowpan support down to 3.5Luis R. Rodriguez9-4/+291
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>
2014-04-08backports: 6lowpan domain specific backport of inet_frag_lru_move()Luis R. Rodriguez1-0/+59
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>
2014-04-08backports: backport net_get_random_once()Luis R. Rodriguez2-0/+105
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>
2014-04-08backports: address jump label and static key supportLuis R. Rodriguez2-0/+193
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>
2014-04-08backports: address move of 6lowpan.c to 6lowpan_rtnl.cLuis R. Rodriguez1-6/+4
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>
2014-04-08backports: add include/net/6lowpan.h to copy-listLuis R. Rodriguez1-0/+1
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>
2014-04-08backports: add Coccinelle SmPL profiling support to gentree.pyLuis R. Rodriguez2-8/+23
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>
2014-04-08backports: add support for testing only a single Coccinelle SmPL patchLuis R. Rodriguez2-7/+34
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>
2014-04-08backports: add git diff support to lib/bpgit.pyLuis R. Rodriguez1-0/+12
This will be used later for proving SmPL patches against legacy patch series. Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2014-04-08backports: use --ignore-removal for git addLuis R. Rodriguez1-2/+2
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>
2014-04-08backports: add threaded Coccinelle spatch supportLuis R. Rodriguez2-12/+89
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>
2014-04-08backports: backport inet_frag_maybe_warn_overflow()Luis R. Rodriguez2-0/+19
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>
2014-04-08backports: backport frag helper functions for mem limit trackingLuis R. Rodriguez1-0/+39
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>
2014-04-08backports: backport skb_unclone()Luis R. Rodriguez1-0/+11
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>
2014-04-08backports: backport definition of struct frag_queueLuis R. Rodriguez1-0/+19
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>
2014-04-08backports: define ETH_P_80221Luis R. Rodriguez1-0/+5
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>
2014-04-08backports: bump drivers dependency that require I2C bus classesLuis R. Rodriguez1-0/+9
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>
2014-04-08backports: bump kernel reqs for WL1251_SDIO and WLCORE_SDIOLuis R. Rodriguez1-2/+2
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>
2014-04-08backports: make WL1251_SPI depend on >= 3.5Luis R. Rodriguez1-1/+3
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>
2014-04-08backports: backport MPLS supportLuis R. Rodriguez1-0/+6
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>
2014-04-08backports: ifdef some pci functionsEliad Peller1-0/+2
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>
2014-04-08backports: add crypto/ccm backportJohannes Berg5-3/+101
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>
2014-04-08backports: fix compilation with CONFIG_OFJohannes Berg3-28/+31
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>
2014-02-24backports: refresh patches on next-20140221Hauke Mehrtens50-302/+125
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>
2014-02-24backports: remove usage of net_device member qdisc_tx_busylockHauke Mehrtens1-0/+24
This member was added ion more recent kernel versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-24backports: add NLA_S{9,16,32,64}Hauke Mehrtens1-0/+11
This is needed by net/ieee802154/nl_policy.c Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-24backports: add of_property_read_u32_index()Hauke Mehrtens2-1/+48
This is needed by drivers/regulator/gpio-regulator.c Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-24backports: add of_property_count_u32_elems()Hauke Mehrtens2-0/+70
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>
2014-02-24backports: add devm_kstrdup()Hauke Mehrtens3-0/+44
This is needed by drivers/regulator/fixed.c Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-24backports: add pci_enable_msix_range()Hauke Mehrtens2-0/+53
This is needed by drivers/net/ethernet/intel/igb/igb_main.c Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-24backports: add pci_enable_msi_range()Hauke Mehrtens3-0/+64
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>
2014-02-24backports: add snd_card_new()Hauke Mehrtens1-0/+20
This is needed by drivers/media/pci/cx18/cx18-alsa-main.c Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-24backports: add VHCI_MINORHauke Mehrtens1-0/+9
This is needed by drivers/bluetooth/hci_vhci.c Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-24backports: add atomic64_set()Hauke Mehrtens1-0/+10
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>
2014-02-24backports: fix indentingHauke Mehrtens1-12/+12
Replace spaces with tabs. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-21backports: backport ACPI_HANDLE(dev)Ido Yariv1-0/+39
In earlier kernel versions the define for retrieving the acpi handle was called DEVICE_ACPI_HANDLE, so just use it. Signed-off-by: Ido Yariv <idox.yariv@intel.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-10backports: copy sch_fq_codel.c from kernelHauke Mehrtens6-806/+356
Instead of using an own version of sch_fq_codel.c make backports copy that code from the kernel and use that. This ensures that we will always use the latest version. This also includes flow_dissector.c which provides a function used by sch_fq_codel.c. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-10backports: copy sch_codel.c from kernelHauke Mehrtens4-309/+101
Instead of using an own version of sch_codel.c make backports copy that code from the kernel and use that. This ensures that we will always use the latest version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-10backports: copy cordic from kernelHauke Mehrtens3-103/+2
Instead of using an own version of cordic.c make backports copy that code from the kernel and use that. This ensures that we will always use the latest version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-10backports: add ETH_P_TEB and ETH_P_8021ADHauke Mehrtens1-0/+8
This is needed by net-core-flow_dissector.c. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-10backports: add ipv6_addr_hash()Hauke Mehrtens1-0/+23
This is needed by net-core-flow_dissector.c Kernel < 2.6.25 and kernel > 3.6 have this function. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-10backports: REGULATOR_S5M8767 depends on kernel 3.15Hauke Mehrtens1-1/+1
This driver needs some additional struct members in struct sec_regulator_data which are not available in a kernel < 3.15 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-10backports: conditionally access net/ieee802154/ with makeJohannes Berg1-1/+2
This essentially reverts commit cb6f08d3c38c as that caused issues with copy-list - the scripting when generating the backport can't prove that net/ieee802154/ isn't needed and will try to go into it even if it wasn't copied. Instead, make net/ieee802154/ be entered whenever it might be needed - which is for CPTCFG_IEEE802154 and CPTCFG_BT. This is harmless if the directory ends up listed twice but will cause this problem to disappear. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-10backports: make BACKPORT_BUILD_LEDS depend on LEDS_CLASS=nJohannes Berg1-1/+1
Somehow !LEDS_CLASS and LEDS_CLASS=n seem to be different (likely because LEDS_CLASS is tristate, but BACKPORT_BUILD_LEDS is just a bool), so use LEDS_CLASS=n to fix build issues in other cases on certain kernel configurations. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-08backports: refresh patches on next-20140207Hauke Mehrtens19-77/+83
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 ] Manual changes were needed in patches/collateral-evolutions/network/16-bluetooth/net_bluetooth_hidp_core.patch Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-08backports: update test kernel versionsHauke Mehrtens1-4/+5
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-08backports: update sch_fq_codel_core.cHauke Mehrtens1-4/+4
This brings sch_fq_codel_core.c to the version used in kernel 3.14-rc1. Most of the changes were done many kernel versions before 3.14-rc1, but in kernel 3.14-rc1 net_random() was removed and not it does not even compile any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-08backports: add compat_put_timespec()Hauke Mehrtens2-0/+25
This is used by v4l2-compat-ioctl32.c Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-08backports: remove bluetooth HIDP transport-driver functionsHauke Mehrtens1-0/+55
The function pointer raw_request and output_report in struct hid_ll_driver will be added with kernel 3.15, remove useage on older kernel versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-08backports: add led_trigger_blink{_oneshot}()Hauke Mehrtens1-0/+13
When led support is deactivated in the kernel and CPTCFG_BACKPORT_BUILD_LEDS is set mac80211 references led_trigger_blink_oneshot() but it is not declared anywhere. This fixes the following build error: net/mac80211/led.c: In function 'ieee80211_led_rx': net/mac80211/led.c:25:2: error: implicit declaration of function 'led_trigger_blink_oneshot' [-Werror=implicit-function-declaration] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-08backports: backport power efficient workqueuesJohannes Berg1-0/+6
These only exist starting from 3.11, and wireless code will start using them soon. Backport them as simple defines using the corresponding non-power-efficient workqueues. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-01backports: refresh on next-20140131Hauke Mehrtens2-4/+4
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.77 [ 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.27 [ OK ] 27 3.11.10 [ OK ] 28 3.12.8 [ OK ] 29 3.13-rc8 [ OK ] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-01backports: enable igb and add defconfigStefan Assmann3-0/+8
Add defconfig and necessary files to copy-list. Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-01backports: igb fixes for linux-3.1Stefan Assmann5-0/+124
- add IFF_UNICAST_FLT define - add PCI_DEV_FLAGS_ASSIGNED define - add skb_frag_size_sub() - add skb_frag_address() - add patches/collateral-evolutions/network/84-ethernet/0011-igb_ethtool_ops.patch - add patches/collateral-evolutions/network/84-ethernet/0012-igb_ndo_set_vf_spoofchk.patch Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-01backports: igb fixes for linux-3.2Stefan Assmann2-0/+112
- add patches/collateral-evolutions/network/84-ethernet/0009-igb_vlan_rx_vid.patch - add patches/collateral-evolutions/network/84-ethernet/0010-igb_ethtool_ops.patch Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-01backports: igb fixes for linux-3.3Stefan Assmann2-0/+20
- add IFF_SUPP_NOFCS define - add patches/collateral-evolutions/network/84-ethernet/0008-igb_no_fcs.patch Is there a better way to handle struct sk_buff changes? Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-01backports: igb fixes for linux-3.4Stefan Assmann3-1/+95
- add struct timestamp_event_queue - add struct ptp_clock - add ptp_clock_index() - add patches/collateral-evolutions/network/84-ethernet/0007-igb_ethtool_ops.patch Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-01backports: igb fixes for linux-3.5Stefan Assmann3-0/+99
- add EEE defines - backport __skb_alloc_page and __skb_alloc_pages - add patches/collateral-evolutions/network/84-ethernet/0006-igb_eee.patch Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-02-01backports: igb fixes for linux-3.6Stefan Assmann4-0/+115
- backport mmd_eee_adv_to_ethtool_adv_t - add define to map ptp_clock_register() to old version - add patches/collateral-evolutions/network/84-ethernet/0004-igb_err_handler.patch - add patches/collateral-evolutions/network/84-ethernet/0005-igb_mdi.patch Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-31backports: igb fixes for linux-3.7Stefan Assmann3-1/+96
- add pci_sriov_set_totalvfs() - add patches/collateral-evolutions/network/84-ethernet/0002-igb_pci_sriov_configure.patch Several ifdefs in igb_main.c to avoid compiler warnings. Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-31backports: igb fixes for linux-3.8Stefan Assmann1-0/+9
- add missing NETDEV_FRAG defines Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-31backports: igb fixes for linux-3.9Stefan Assmann4-0/+144
- add struct pci_sriov - add pci_vfs_assigned() - add PCI_SRIOV defines - add patches/collateral-evolutions/network/84-ethernet/0001-igb_net_device_ops.patch Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-31backports: igb fixes for linux-3.12Stefan Assmann1-3/+14
- refactor u64_stats_sync.h a bit - add u64_stats_init define Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-31backports: igb fixes for linux-3.13Stefan Assmann1-0/+30
- add patches/collateral-evolutions/network/84-ethernet/0013-igb_hwmon.patch Signed-off-by: Stefan Assmann <sassmann@kpanic.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-24backports: fix uninstall filenameHauke Mehrtens1-1/+1
The uninstall script calculated the filename in the wrong way. It added the current working dir into the file name, this resulted in names like this: /lib/modules/2.6.32-431.3.1.el6.x86_64/updates//home/hauke/backports-20140124/drivers/net/wireless/ipw2x00/ipw2100.ko The correct one would be this /lib/modules/2.6.32-431.3.1.el6.x86_64/updates/drivers/net/wireless/ipw2x00/ipw2100.ko Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-24backports: refresh on next-20140124Hauke Mehrtens5-50/+50
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.77 [ 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.27 [ OK ] 27 3.11.10 [ OK ] 28 3.12.8 [ OK ] 29 3.13-rc8 [ OK ] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-24backports: always access net/ieee802154/ with makeHauke Mehrtens1-1/+1
In the kernel make will always access net/ieee802154/, we should do the same. This was changes in the kenrel in this commit: commit a53d34c3465b8a840f7400932ae1b0a9f9ed6bef Author: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> Date: Wed Jan 15 02:50:40 2014 +0400 net: move 6lowpan compression code to separate module Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-24backports: add __sockaddr_check_size()Hauke Mehrtens1-0/+5
This is used by net/bluetooth/l2cap_sock.c Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-24backports: add DECLARE_SOCKADDRHauke Mehrtens1-0/+5
This is used by net/bluetooth/l2cap_sock.c Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: refresh on next-20140117Hauke Mehrtens27-53/+53
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.77 [ 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.27 [ OK ] 27 3.11.10 [ OK ] 28 3.12.8 [ OK ] 29 3.13-rc8 [ OK ] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: fix unused hidp_get_raw_report() warningHauke Mehrtens1-6/+16
This fixes the following warning: /net/bluetooth/hidp/core.c:271:12: warning: ‘hidp_get_raw_report’ defined but not used [-Wunused-function] static int hidp_get_raw_report(struct hid_device *hid, ^ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: fix unused atl1e_rx_mode() warningHauke Mehrtens1-5/+21
This fixes the following warning: /drivers/net/ethernet/atheros/atl1e/atl1e_main.c:328:13: warning: ‘atl1e_rx_mode’ defined but not used [-Wunused-function] static void atl1e_rx_mode(struct net_device *netdev, ^ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: fix unused var ret warningHauke Mehrtens1-3/+7
This fixes the following warning: /drivers/net/wireless/mwifiex/sta_cmd.c: In function ‘mwifiex_cmd_cfg_data’: /drivers/net/wireless/mwifiex/sta_cmd.c:1196:6: warning: unused variable ‘ret’ [-Wunused-variable] int ret; ^ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: fix unused mwifiex_sdio_resume() warningHauke Mehrtens1-5/+21
This fixes the following warning: /drivers/net/wireless/mwifiex/sdio.c:124:12: warning: ‘mwifiex_sdio_resume’ defined but not used [-Wunused-function] static int mwifiex_sdio_resume(struct device *dev) ^ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: fix led_trigger warning with old kernel versionsHauke Mehrtens1-0/+13
This fixes the following warning: /drivers/net/wireless/at76c50x-usb.c: In function ‘at76_mod_init’: /drivers/net/wireless/at76c50x-usb.c:2472:2: warning: passing argument 2 of ‘led_trigger_register_simple’ from incompatible pointer type [enabled by default] led_trigger_register_simple("at76_usb-tx", &ledtrig_tx); ^ In file included from /backport-include/linux/leds.h:3:0, from /drivers/net/wireless/at76c50x-usb.c:45: include/linux/leds.h:97:13: note: expected ‘struct led_trigger **’ but argument is of type ‘struct backport_led_trigger **’ extern void led_trigger_register_simple(const char *name, ^ /drivers/net/wireless/at76c50x-usb.c: In function ‘at76_mod_exit’: /drivers/net/wireless/at76c50x-usb.c:2484:2: warning: passing argument 1 of ‘led_trigger_unregister_simple’ from incompatible pointer type [enabled by default] led_trigger_unregister_simple(ledtrig_tx); ^ In file included from /backport-include/linux/leds.h:3:0, from /drivers/net/wireless/at76c50x-usb.c:45: include/linux/leds.h:99:13: note: expected ‘struct led_trigger *’ but argument is of type ‘struct backport_led_trigger *’ extern void led_trigger_unregister_simple(struct led_trigger *trigger); ^ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: add prefix infront of ether_addr_equal_{unaligned, 64bits}()Hauke Mehrtens1-1/+2
RedHat 6.5 already contains ether_addr_equal_64bits() which will conflict with our declaration. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: add IS_BUILTIN()Hauke Mehrtens1-0/+3
This is needed by bcma. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: backport get_stats in alx driverHauke Mehrtens1-0/+36
alx_get_stats64() was added recently to alx driver, but on kernel < 2.6.30 only get_stats is available, convert the function on such kernels to use the old api. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: fix header of phy_mii_ioctl()Hauke Mehrtens1-0/+10
On kernel versions < 2.6.36 phy_mii_ioctl() gets struct mii_ioctl_data as second parameter and on more recent kernel versions it takes struct ifreq. This patch converts one version to the other. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: add linux/irqdomain.hHauke Mehrtens1-0/+9
ssb uses this header file, but does not use any of the functions in there in the default config, because that is only used when SSB_DRIVER_GPIO and SSB_EMBEDDED are activated. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: add ATTRIBUTE_GROUPS unconditionallyHauke Mehrtens2-28/+16
net/bluetooth/hci_sysfs.c uses ATTRIBUTE_GROUPS on all kernel versions. Now it has to be for older kernel versions as well and __ATTRIBUTE_GROUPS is also needed for these old versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: add sdio device id listHauke Mehrtens1-0/+1
This copies the sdio device id list into backprots, this is used by brcmfmac. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: do not activate BCMA_HOST_SOC on kernel < 3.7Hauke Mehrtens1-0/+6
drivers/bcma/driver_gpio.c calls irq_set_chip_and_handler() when BCMA_HOST_SOC is activated. irq_set_chip_and_handler() gets exported on kernel >= 3.7, we should not activate this on any older kernel. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: add USB_DEVICE_INTERFACE_CLASSHauke Mehrtens1-0/+18
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-19backports: adapt to changes in netdev select_queue callHauke Mehrtens3-0/+62
This patch reverts the changes done in the following commit for older kernel versions: commit f663dd9aaf9ed124f25f0f8452edf238f087ad50 Author: Jason Wang <jasowang@redhat.com> Date: Fri Jan 10 16:18:26 2014 +0800 net: core: explicitly select a txq before doing l2 forwarding Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> CC: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-01-18backports: refresh on next-20140106Hauke Mehrtens30-60/+60
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.77 [ 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.27 [ OK ] 27 3.11.10 [ OK ] 28 3.12.8 [ OK ] 29 3.13-rc8 [ OK ] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: add missing header fileHauke Mehrtens1-0/+1
The act8865 regulator driver needs this header file. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: do not build ACT8865 with kernel < 3.12Hauke Mehrtens1-0/+1
This driver uses some members of struct regulator_desc which were added in kernel 3.12. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: add ether_addr_equal_unaligned()Hauke Mehrtens1-0/+20
ether_addr_equal_unaligned() is used by some drivers. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: add ether_addr_equal_64bits()Hauke Mehrtens1-0/+32
This is used by some drivers now Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: fix iwlwifi threaded IRQ patchesEmmanuel Grumbach2-6/+6
Modifications upstream affected: * drivers_net_wireless_iwlwifi_pcie_internal.patch * drivers_net_wireless_iwlwifi_pcie_trans.patch Manually refresh the patches. Change-Id: Iad8218a243e644352c3b1029d12795c528259dde Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18gentree: create *.tar.gz instead of *.tar.bz for kernel.orgHauke Mehrtens1-11/+11
kernel.org does not support bzip2 any more, use gzip instead. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: add missing includeHauke Mehrtens1-0/+1
A user reported that the linux/mm.h header was missing on his mips device with kernel 2.6.26. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: add prefix infront of led_blink_set()Hauke Mehrtens1-0/+1
led_blink_set is also exported by the RedHat 6.5 kernel and collides with backports when loading the compat.ko module. This fixes the problem by prefixing the symbol. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: refresh on next-20131224Hauke Mehrtens31-113/+61
manual changes done to: patches/collateral-evolutions/network/25-multicast-list_head/include_net_mac80211.patch patches/collateral-evolutions/network/25-multicast-list_head/net_mac80211_driver-ops.patch patches/collateral-evolutions/network/25-multicast-list_head/net_mac80211_iface.patch patches/collateral-evolutions/network/64-b44-32bit-stats/drivers_net_ethernet_broadcom_b44.patch patches/collateral-evolutions/network/70-umode_t-api-change/drivers_net_wireless_ath_ath9k_debug.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.77 [ 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.27 [ OK ] 27 3.11.10 [ OK ] 28 3.12.8 [ OK ] 29 3.13-rc8 [ OK ] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: update kernel versionsHauke Mehrtens1-6/+6
Update to current versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: fix i2c_add_mux_adapter() parametersHauke Mehrtens1-0/+11
The class parameter was added in kernel 3.7 to i2c_add_mux_adapter() and could just be ignored by older kernel versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: copy include/uapi/linux/vsp1.hHauke Mehrtens1-0/+1
This header file is now needed by a media driver. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: build some regulator drivers only with recent kernelsHauke Mehrtens1-4/+4
When these drivers are build with older kernel versions we get build errors. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: add printk_ratelimited()Hauke Mehrtens1-0/+91
This adds the backport for some printk_ratelimited() functions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: remove CRC8 backportHauke Mehrtens4-206/+0
This is not used by any driver any more. brcmsmac was the only driver selecting this, but did not used it since some months, now it does not even select it any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: backport multicast list handling in iwlwifi mvmJohannes Berg1-0/+42
Backport multicast list handling for kernel < 2.6.35 in iwlwifi mvm driver. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: remove usage of addr_assign_type in 6lowpan.cHauke Mehrtens1-0/+12
The bluetooth 6lowpan code now accesses the addr_assign_type member of struct netdev, which is not available in older kernel versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: add include/net/af_ieee802154.h fileHauke Mehrtens1-0/+1
This file was added in kernel 2.6.32 and is now needed by bluetooth. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: remove usage of members of struct property for kernel < 2.6.39Hauke Mehrtens2-0/+32
struct property is missing in the general header files in older kernel versions. There are different versions of this header depending on the architecture code in use. This removed the access to any members of struct property for older kernel version when CONFIG_OF is not set. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: make b44 depend on kernel > 2.6.28Hauke Mehrtens1-0/+3
The mdio bus functions where introduced in that version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: fix number of arguments of phy_connect()Hauke Mehrtens1-0/+11
The flags argument was removed from phy_connect in this commit: commit f9a8f83b04e0c362a2fc660dbad980d24af209fc Author: Florian Fainelli <florian@openwrt.org> Date: Mon Jan 14 00:52:52 2013 +0000 net: phy: remove flags argument from phy_{attach, connect, connect_direct} Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: add include/trace/events/v4l2.h fileHauke Mehrtens1-0/+1
v4l2 now supports tracing and needs a new header file that was missing. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: add ARPHRD_6LOWPANHauke Mehrtens1-0/+4
This adds ARPHRD_6LOWPAN to if_arp.h Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: add netdev_notify_peers()Hauke Mehrtens1-0/+8
netif_notify_peers() was renamed to netdev_notify_peers() in kernel 3.7. Replace the calls to netdev_notify_peers() with netif_notify_peers(). Some older kernel versions do not even have netif_notify_peers(), there we just remove the call, currently it is only used in the 6lowpan code and I assume it will still work, but not so good. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: add devm_kmalloc()Hauke Mehrtens1-0/+4
devm_kmalloc() was added in kernel 3.13. To backport it we replace the calls with devm_kzalloc() instead. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18gentree: combine spatches (unless using --gitdebug)Johannes Berg1-29/+43
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 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-01-18backports: backport hex2bin()Johannes Berg3-0/+32
This changed from not having a return value to having one, so backport the version that has it. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-12-09backports: refresh patches for next-20131206 a second timeLuis R. Rodriguez2-5/+5
After a few changes were made we need a refresh of patches against next-20131206, this refreshes the patches and test compiles against all supported kernels again. $ 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.52 [ OK ] 19 3.3.8 [ OK ] 20 3.4.70 [ 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.20 [ OK ] 27 3.11.9 [ OK ] 28 3.12.1 [ OK ] 29 3.13-rc1 [ OK ] real 33m3.982s user 892m21.988s sys 128m11.492s Current run time *without* the last two cocci patches applied: mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py \ --verbose \ --clean \ --refresh \ /home/mcgrof/linux-next/ \ /home/mcgrof/build/next-20131206 real 3m13.530s user 2m56.104s sys 0m16.180s With the last two cocci patch files applied and spatch version 1.0.0-rc17: mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py \ --verbose \ --clean \ --refresh \ /home/mcgrof/linux-next/ \ /home/mcgrof/build/next-20131206 real 23m2.521s user 19m19.436s sys 3m3.840s With the last two cocci patch files applied and spatch version 1.0.0-rc19: mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py \ --verbose \ --clean \ --refresh \ /home/mcgrof/linux-next/ \ /home/mcgrof/build/next-20131206 real 8m6.077s user 7m46.076s sys 0m18.124s Moving forward please make sure to have present at least spatch 1.0.0-rc19 on your system to generate releases. The gains of extending how we do backports more automatically with Coccinelle for the short cost observed on 1.0.0-rc19 makes it worth it to continue to embrace SmPL to backport further collateral evolutions. 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>
2013-12-09backports: convert 11-dev-pm-ops patch series to SmPLLuis R. Rodriguez17-350/+46
The collateral evolution on pci power management ops can easily be expressed with SmPL, use that instead. spatch version 1.0.0-rc19 with Python support and with PCRE support mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py \ --verbose \ --clean \ --refresh \ /home/mcgrof/linux-next/ \ /home/mcgrof/build/next-20131206 real 8m6.077s user 7m46.076s sys 0m18.124s There are three exceptions that this patch does not address: libertas: this should be made a separate collateral evolution specifically for spi drivers iwlegacy: we'll deal with this as an evolution to our spatch, it deals with having to rely on grammar rules which go beyond just one file. mwifiex: coccinelle is not doing the transormation due to an isomorphism on how pm suspend ops are declared, although we may be able to deal with this within Coccinelle to teach it this isomorphism we can also address this by streamlining how pm ops are defined upstream in the meantime. 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>
2013-12-08backports: convert the 62-usb_driver_lpm patch series to SmPLLuis R. Rodriguez29-336/+9
This is easily expressed instead as an SmPL patch for interpretation with Coccinelle. This replaces 336 lines patch code with 9 lines of SmPL. 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>
2013-12-08backports: add Python based backports-update-managerLuis R. Rodriguez6-356/+687
This replaces the old shell scripts: * get-compat-kernels * get-compat-trees with a shiny central Python based backpor update manager: * backports-update-manager The new version provides a few features which were simply a difficult to implement and quite frankly pointless to try to implement in shell. Things worth mentioning: * This will now monitor your old directories and packages and remove any stale old directory or packages. You should feel comfortable with now just getting the latest code from the repo and always just running the script, it will do everything you wished it did for you. * This will always check the URLs and ensure your file size matches the target upstream size, we used to only check if you had the file or not * The compat-ksrc directory was renamed to ksrc-backports which goes inline with our rebranding crusade. The tool is smart enough to figure out if you had the old name and rename it for you. Its also smart enough to figure out if you had your old compat-ksrc as a symlink and preserve things just as you intended following the old real path. * The debs/ directory is now moved into ksrc-backports, making it easier to manage and detect what is or not part of backports. * I found no way to deal with objects to extract GNU archive items with Python, so we're stuck with requiring GNU ar, this provides a simple wrapper for our usage. * For the tree updater we instead or relying on Linus' tree to be a remote we leave it separately but always use --reference and allow users to provide their own --reference override for new clones. It should be easy to extend this should others have other custom work spaces through a config file or the like. * To keep backports up to date on a system after an initial run one should only need to run through a cronjob: backports-update-manager --force To only update the git trees: backports-update-manager --force --git-trees-only Relying on an continued update list is dumb though, in the future we should look into putting out new builds through without requiring GNU ar and also updating the list through a json file just as the kernel has its own now: https://www.kernel.org/releases.json Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-08backports: do not call dev_hw_addr_random()Hauke Mehrtens1-1/+2
SLES 11 SP3 does not have dev_hw_addr_random() so this patch includes the stuff which would be done in dev_hw_addr_random() in eth_hw_addr_random(). Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-08backports: fix skb_add_rx_fragi() for SLES 11 SP3Hauke Mehrtens1-1/+3
SLES 11 SP3 backported skb_add_rx_frag() with 6 arguments and we have to use that function with the truesize parameter. This removes the define for SLES 11 SP3 like it is done for RHEL. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-08backports: add missing LINUX_BACKPORT() on various placesHauke Mehrtens6-0/+21
This fixes lots of compile problems on RHEL 6.5. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-08backports: so not add netdev_features_t on RHEL 6.5Hauke Mehrtens1-0/+2
RHEL 6.5 already contains netdev_features_t which will collide with backports definition. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-08backports: remove unused workqueue backportsHauke Mehrtens2-57/+0
These backports are not used by any driver code and some of them are conflicting with code from RHEL 6.5 headers. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-08backports: add LINUX_BACKPORT infront of functionsHauke Mehrtens5-6/+10
This is needed to add support for SLES 11 SP3 support. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-08backports: add missing include for linux/of.hHauke Mehrtens2-0/+2
This fixes a compile error with some config options. Closes bug: https://bugzilla.kernel.org/show_bug.cgi?id=66601 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Reported-by: Richard Röjfors <richard.rojfors@gmail.com> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-08backports: remove DMI_EXACT_MATCHHauke Mehrtens1-4/+0
DMI_EXACT_MATCH was only used by the Intel gpu driver which was removed. Kernel 3.10.21 also has DMI_EXACT_MATCH which collides with backports definition. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-08backports: refresh patches for next-20131206Luis R. Rodriguez29-50/+50
Run time of generation of release: real 5m28.543s user 3m4.536s sys 2m2.940s spatch version 1.0.0-rc17 with Python support and with PCRE support == ckmake-report.log == 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.52 [ OK ] 19 3.3.8 [ OK ] 20 3.4.70 [ 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.20 [ OK ] 27 3.11.9 [ OK ] 28 3.12.1 [ OK ] 29 3.13-rc1 [ OK ] real 37m43.297s user 1030m36.392s sys 138m31.368s Cc: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-08backports: backport getrawmonotonic() with do_posix_clock_monotonic_gettime()Luis R. Rodriguez1-0/+4
We cannot properly backport getrawmonotonic() as it requires some in-kernel changes which cannot be backported so the best thing we can do is provide at least the monotonic time. This will only be done as a compromise for kernels that didn't have getrawmonotonic() which are kernels < 2.6.28, which hopefully we can just deprecate completely soon. The example users which pushes us to backport this is change via linux-next 09d8e315d for ath9k, titled: "ath9k_hw: fix TSF save/restore around chip reset" The original commit that added getrawmonotonic() was 2d42244ae. mcgrof@cerro ~/linux-next (git::master)$ git describe --contains 2d42244ae v2.6.28-rc1~82^2~1 commit 2d42244ae71d6c7b0884b5664cf2eda30fb2ae68 Author: John Stultz <johnstul@us.ibm.com> Date: Wed Aug 20 16:37:30 2008 -0700 clocksource: introduce CLOCK_MONOTONIC_RAW In talking with Josip Loncaric, and his work on clock synchronization (see btime.sf.net), he mentioned that for really close synchronization, it is useful to have access to "hardware time", that is a notion of time that is not in any way adjusted by the clock slewing done to keep close time sync. Part of the issue is if we are using the kernel's ntp adjusted representation of time in order to measure how we should correct time, we can run into what Paul McKenney aptly described as "Painting a road using the lines we're painting as the guide". I had been thinking of a similar problem, and was trying to come up with a way to give users access to a purely hardware based time representation that avoided users having to know the underlying frequency and mask values needed to deal with the wide variety of possible underlying hardware counters. My solution is to introduce CLOCK_MONOTONIC_RAW. This exposes a nanosecond based time value, that increments starting at bootup and has no frequency adjustments made to it what so ever. The time is accessed from userspace via the posix_clock_gettime() syscall, passing CLOCK_MONOTONIC_RAW as the clock_id. Signed-off-by: John Stultz <johnstul@us.ibm.com> Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: Felix Fietkau <nbd@openwrt.org> Cc: John Stultz <johnstul@us.ibm.com> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-08backports: backport ktime_to_ms()Luis R. Rodriguez1-0/+15
This backports ktime_to_ms() mcgrof@cerro ~/linux-next (git::master)$ git describe --contains f56916b9 v2.6.35-rc1~490^2~16 commit f56916b97fe2031761ca611f0a342efd913afb33 Author: Chuck Lever <chuck.lever@oracle.com> Date: Fri May 7 13:34:37 2010 -0400 ktime: introduce ktime_to_ms() To report ktime statistics to user space in milliseconds, a new helper is required. When considering how to do this conversion, I didn't immediately see why the extra step of converting ktime to a timeval was needed. To make that more clear, introduce a couple of large comments. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-06backports: add support for prandom_bytesEmmanuel Grumbach2-0/+35
This was added in 3.8 and not used until now. Since it it being used by the wireless stack, backport it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> [mcgrof: fixed renamed prandom_bytes_state to prandom_bytes on symbol] Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-06ckmake: sort kernel releases properlyJohannes Berg1-3/+8
Ever since 3.10, kernel releases weren't sorted properly. Put them into a parsed list first and then sort them to get the 3.10/11/12 etc. to the bottom of the list. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-02backports: refresh patches on next-20131129Hauke Mehrtens8-12/+12
== ckmake-report.log == 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.10.20 [ OK ] 19 3.11.9 [ OK ] 20 3.12.1 [ OK ] 21 3.13-rc1 [ OK ] 22 3.2.52 [ OK ] 23 3.3.8 [ OK ] 24 3.4.70 [ OK ] 25 3.5.7 [ OK ] 26 3.6.11 [ OK ] 27 3.7.10 [ OK ] 28 3.8.13 [ OK ] 29 3.9.11 [ OK ] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-02backports: add backport_ in front of sign_extend32()Hauke Mehrtens1-0/+1
sign_extend32() is also backported by the RHEL kernel, this fixes a compile problem. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-02backports: remove duplicate allyesconfig from helpHauke Mehrtens1-1/+0
allyesconfig was mentioned in the help dialog twice. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-02backports: add backport_ prefix in front of BQL functionsHauke Mehrtens1-0/+6
Sometimes these functions are backported in the kernel, add the backports_ prefix to prevent the names from colliding. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-12-02backports: check for define in module_driver and not kernel versionHauke Mehrtens4-4/+4
In some places backports checked for the kernel version on weather to add a own define for module_driver or not. This patch makes it check if there is already one or not. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
2013-11-24backports: remove own version of include/linux/unaligned/*.hHauke Mehrtens11-510/+1
These files are now copied from the kernel like normal files we take from the kernel. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-11-24backports: remove own version of include/linux/wireless.hHauke Mehrtens2-1162/+2
This file is now copied from the kernel like a normal file we take from the kernel. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-11-24backports: remove backport/backport-include/linux/vgaarb.hHauke Mehrtens1-10/+0
This file was never included. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-11-24backports: remove usb_unlink_anchored_urbs()Hauke Mehrtens2-25/+0
kref_get_unless_zero() was never called by any code. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-11-24backports: remove kref_get_unless_zero()Hauke Mehrtens1-26/+0
kref_get_unless_zero() was never called by any code. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-11-24backports: remove hex_byte_pack()Hauke Mehrtens2-23/+0
hex_byte_pack() was never called by any code. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-11-24backports: remove vlan_hw_offload_capable()Hauke Mehrtens1-7/+0
vlan_hw_offload_capable() was never called by any code. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-11-24backports: remove fb_enable_skip_vt_switch()Hauke Mehrtens1-48/+0
fb_enable_skip_vt_switch() was never called by any code. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-11-24backports: remove ethtool_rxfh_indir_default()Hauke Mehrtens1-8/+0
ethtool_rxfh_indir_default() was never called by any code. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-11-24backports: remove efiHauke Mehrtens1-66/+0
Non of these defines or functions where used by any code. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-11-24backports: remove irq_set_affinity_hint()Hauke Mehrtens2-26/+0
irq_set_affinity_hint() was never called by any code. This makes it possible to remove struct cpumask. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2013-11-24backports: remove atomic_inc_not_zero_hint()Hauke Mehrtens1-34/+0
atomic_inc_not_zero_hint() was never called by any code. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>