Modifing and installing ath10k driver for kernel 4.0

Michal Kazior michal.kazior at
Wed Apr 29 22:53:32 PDT 2015

On 29 April 2015 at 14:53, Costa Molero  Edgar <cedgar at> wrote:
>> You can still use backports though. All you need is to build backports
>> package yourself[1] from whatever kernel tree you desire, e.g.
>> instead of using the pre-built one.
>> [1]:
>> I also wrote something about ath10k and backports:
> Thanks, for the answers.
> I already tried before writing my message to compile my custom ath10k backports. However when I was following your guide I was not able to create the backports output tree. The script was giving me a dependency problem :
> You need to have installed: spatch >= 1.0.0-rc24
> Try installing the package: coccinelle
> So, I did installed the latest coccinelle version but the dependency was still there. After one day struggling I found that its a bug and can be solved with this patch :
> ---
>  lib/ |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> diff --git a/lib/ b/lib/
> index 6c46670..4399c6d 100644
> --- a/lib/
> +++ b/lib/
>  <at>  <at>  -98,7 +98,7  <at>  <at>  class Req:
>                  if (rc == ""):
>                      rc = 0
>                  else:
> -                    rc = int(rc) - 20
> +                    rc = int(rc) - 40
>                  extra = int(rc)
>              else:
>                  extra = int(rel_specs['EXTRAVERSION']) + 10
> --
> I still have a question regarding backports, and kernel releases. I am quite new in all this world so that's why I was a little bit confused.  Correct me if I am wrong. Backports are used to install the newest (or whatever version ) of drivers in the current kernel you have, right ? So you get the same result than compiling the entire kernel with your modified driver ?

It really depends on what you define as a "result". But basically what
you're saying is correct - backports allow you to use newer drivers
with older kernels.

There tends to be some churn across kernel subsystems so it's not
uncommon for driver to depend on other changes in kernel, e.g. ath10k
depends on mac80211 which depends on cfg80211 which depends on netlink
(this is very simplified, there are also some little kernel utilities
and helper functions, pci subsystem, etc that drivers can depend on).
Also dependencies can be code and behavioral. The latter means that,
e.g. even if using ath10k directory from kernel A in kernel B doesn't
yield compilation warnings/errors it doesn't mean it will work


More information about the ath10k mailing list