On 9/12/19 10:13 AM, Mark Pearson wrote:
Hi,
If I wanted to backport the latest SOF support back to 5.2.9 (for the customer who wants that) - would that be a crazy thing to do? Any tips or pointers on doing that? Just update sound/soc/sof, include/uapi/sound/soc and include/sound/sof....maybe?
We have a dumb script that detects all the changes upstream and tries to apply them on top of whatever kernel version. It's dumb in the sense that it just picks in arbitrary libraries and contributor names, but it can get a working config. It'd have to be a custom build since we only take specific things and can't guarantee that the same backported stuff will work on all platforms.
The main problem is that there were a lot of reworks at the core level, with the 'modern' dai style, so I see 226 patches if you do this blindly.
# get all changes in broonie-next since last backport git log --oneline --reverse --no-merges v5.2.9..broonie/for-next \ > log_broonie.tmp
# get log based on directory (can be edited at will) git log --oneline --reverse --no-merges v5.2.9..broonie/for-next -- \ include/sound/sof/*.h include/uapi/sound/sof/*.h \ sound/pci/hda sound/hda \ sound/soc/sof/ \ > log_dir.tmp
# get log from sound/ and include/sound based on authors from intel git log --oneline --reverse --no-merges v5.2.9..broonie/for-next --author=intel.com -- sound/ include/sound > log_intel.tmp
# merge SHA1s cat log_intel.tmp log_dir.tmp | sort -u > list.tmp
# extract the relevant SHA1s from the initial list grep -F -x -f list.tmp log_broonie.tmp > gitlog.txt
To apply the list (possibly edited), run this: cat gitlog.txt | awk '{print $1}' > log1.tmp cat log1.tmp | git cherry-pick -x --stdin
Disclaimer: backport support is beyond the scope of the SOF development team.