[OpenWrt-Devel] how to apply driver patch to the kernel

Jonas Gorski jonas.gorski+openwrt at gmail.com
Thu Oct 6 22:19:14 CEST 2011


Hi,

On 6 October 2011 20:55, abhinav narain <abhinavnarain10 at gmail.com> wrote:
> hi,
> This is my first experience with writing a patch/using git.
> I need some specific answers to get it working

mac80211 is actually a bit tricky since quilt doesn't work.

I'd recommend cloning the appropriate tag from
<https://github.com/mcgrof/compat-wireless>, then applying the OpenWrt
patches on top of it (with e.g. git apply - don't forget to commit,
but all as one should be fine).

Then you can create patches you can put into package/mac80211/patches/
(they should come last).

> a/compat-wireless-2011-08-10/drivers/net/wireless/ath/ath9k/ath9k.h
> b/compat-wireless-2011-08-10/drivers/net/wireless/ath/ath9k/ath9k.h
> index c03949e..0b31c10 100644
> --- a/compat-wireless-2011-08-10/drivers/net/wireless/ath/ath9k/ath9k.h
> +++ b/compat-wireless-2011-08-10/drivers/net/wireless/ath/ath9k/ath9k.h

The base is wrong, it should be a/drivers/net/... . without the
compat-wireless... .

> @@ -122,9 +122,14 @@ void ath_descdma_cleanup(struct ath_softc *sc, struct
> ath_descdma *dd,
>  /***********/
> My questing is :
> 0) should index line be present in the patch ?

It doesn't hurt, but it doesn't help either, patch ignores it when
applying them. For a working patch the ---/+++ lines and the changes
are enough, everything else is just fluff.

> 1) Where should I place this patch file ?

in package/mac80211/patches/ (where all patches are).

> 2) What are the set of easiest commands to get this patch to be
> applied/compile ?

Copy the patch to the location above, do a "make
package/mac80211/{clean,compile}

> I saw Quilt http://wiki.openwrt.org/doc/devel/patches
> The asked to do make package/example/update V=99
> Now I don't know what this example should be to use this command ?

Not for mac80211/compat-wireless, so just ignore it ;)

Regards
Jonas


More information about the openwrt-devel mailing list