On 1/20/2011 10:53 AM, Andreas Oberritter wrote:
> [This revision is not pinned in OE, but used by opendreambox.]

What machines/distros has this sequence of three patches been tested with?

Does it build for both LE and BE?

-Mike (mwester)


> * Update HAL to 20090508.
> * Use SRCREV 20550 of OpenWrt.
> * Skip 446-single_module.patch (breaks install target).
> * Remove dependency on OpenWrt's wprobe API.
> * Fix HAL selection for mips32.
> 
> Signed-off-by: Andreas Oberritter <[email protected]>
> CC: Dmitry Eremin-Solenikov <[email protected]>
> ---
> 
>  ...ine-ioreadwrite32be-for-little-endian-too.patch |   13 ---
>  recipes/madwifi/files/fix-target-mips32.patch      |   16 +++
>  recipes/madwifi/files/remove-wprobe.patch          |  115 
> ++++++++++++++++++++
>  recipes/madwifi/madwifi-ng_r3314-20080131.bb       |   31 +++++-
>  4 files changed, 157 insertions(+), 18 deletions(-)
>  delete mode 100644 
> recipes/madwifi/files/30-define-ioreadwrite32be-for-little-endian-too.patch
>  create mode 100644 recipes/madwifi/files/fix-target-mips32.patch
>  create mode 100644 recipes/madwifi/files/remove-wprobe.patch
> 
> diff --git 
> a/recipes/madwifi/files/30-define-ioreadwrite32be-for-little-endian-too.patch 
> b/recipes/madwifi/files/30-define-ioreadwrite32be-for-little-endian-too.patch
> deleted file mode 100644
> index 3752a55..0000000
> --- 
> a/recipes/madwifi/files/30-define-ioreadwrite32be-for-little-endian-too.patch
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -Reported as http://madwifi.org/ticket/1783 ...
> -
> ---- madwifi-ng-r3314-20080131/ath_hal/ah_os.h~       2007-11-23 
> 20:08:18.000000000 +1030
> -+++ madwifi-ng-r3314-20080131/ath_hal/ah_os.h        2008-02-11 
> 23:12:11.000000000 +1030
> -@@ -168,7 +168,7 @@
> -  * for the second time, so the native implementations should be preferred.
> -  */
> - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)) && \
> --    !defined(CONFIG_GENERIC_IOMAP) && (AH_BYTE_ORDER == AH_BIG_ENDIAN) && \
> -+    !defined(CONFIG_GENERIC_IOMAP) && \
> -     !defined(__mips__) && !defined(__hppa__) && !defined(__powerpc__)
> - # ifndef iowrite32be
> - #  define iowrite32be(_val, _addr) iowrite32(swab32((_val)), (_addr))
> diff --git a/recipes/madwifi/files/fix-target-mips32.patch 
> b/recipes/madwifi/files/fix-target-mips32.patch
> new file mode 100644
> index 0000000..7439304
> --- /dev/null
> +++ b/recipes/madwifi/files/fix-target-mips32.patch
> @@ -0,0 +1,16 @@
> +Upstream: unmaintained version
> +
> +diff -Naur madwifi-ng-r3314-20080131.orig/ath_hal/ah_target.inc 
> madwifi-ng-r3314-20080131/ath_hal/ah_target.inc
> +--- madwifi-ng-r3314-20080131.orig/ath_hal/ah_target.inc     2006-11-17 
> 23:34:30.000000000 +0000
> ++++ madwifi-ng-r3314-20080131/ath_hal/ah_target.inc  2010-10-26 
> 01:36:47.000000000 +0000
> +@@ -26,8 +26,8 @@
> + # Determine the target (i.e. which HAL to use).
> + # The default is $(ARCH)-elf
> + TARGET-$(CONFIG_CPU_32v4) = armv4-$(ENDIAN)-elf
> +-TARGET-$(CONFIG_CPU_MIPS32_R1) = mips1-$(ENDIAN)-elf
> +-TARGET-$(CONFIG_CPU_MIPS32_R2) = mips-$(ENDIAN)-elf
> ++TARGET-$(CONFIG_CPU_MIPS32_R1) = mips32-$(ENDIAN)-elf
> ++TARGET-$(CONFIG_CPU_MIPS32_R2) = mips32r2-$(ENDIAN)-elf
> + TARGET-$(CONFIG_CPU_R4X00) = mipsisa32-$(ENDIAN)-elf
> + TARGET-$(CONFIG_CPU_TX49XX) = mipsisa32-$(ENDIAN)-elf
> + TARGET-$(CONFIG_PPC32) = powerpc-be-elf
> diff --git a/recipes/madwifi/files/remove-wprobe.patch 
> b/recipes/madwifi/files/remove-wprobe.patch
> new file mode 100644
> index 0000000..b251461
> --- /dev/null
> +++ b/recipes/madwifi/files/remove-wprobe.patch
> @@ -0,0 +1,115 @@
> +Upstream: OE-only
> +
> +Wprobe is "a module that exports measurement data from wireless driver to 
> user space",
> +which requires an additional out-of-tree kernel module.
> +
> +See https://dev.openwrt.org/browser/trunk/package/wprobe/.
> +
> +diff -Naur madwifi-ng-r3314-20080131.orig/ath/if_ath.c 
> madwifi-ng-r3314-20080131/ath/if_ath.c
> +--- madwifi-ng-r3314-20080131.orig/ath/if_ath.c      2010-10-26 
> 11:15:51.000000000 +0000
> ++++ madwifi-ng-r3314-20080131/ath/if_ath.c   2010-10-26 11:19:02.000000000 
> +0000
> +@@ -396,7 +396,6 @@
> + static int rfkill = 0;
> + static int tpc = 1;
> + static int xchanmode = -1;
> +-#include "ath_wprobe.c"
> + 
> + static const struct ath_hw_detect generic_hw_info = {
> +     .vendor_name = "Unknown",
> +@@ -1539,7 +1538,6 @@
> +             ath_hal_intrset(ah, sc->sc_imask);
> +     }
> + 
> +-    ath_init_wprobe_dev(avp);
> +     return vap;
> + }
> + 
> +@@ -1621,7 +1619,6 @@
> +             decrease = 0;
> + 
> +     ieee80211_vap_detach(vap);
> +-    ath_remove_wprobe_dev(ATH_VAP(vap));
> +     /* NB: memory is reclaimed through dev->destructor callback */
> +     if (decrease)
> +             sc->sc_nvaps--;
> +@@ -6008,7 +6005,6 @@
> +     /* Clean up node-specific rate things - this currently appears to 
> +      * always be a no-op */
> +     sc->sc_rc->ops->node_cleanup(sc, ATH_NODE(ni));
> +-    ath_wprobe_node_leave(ni->ni_vap, ni);
> + 
> +     ATH_NODE_UAPSD_LOCK_IRQ(an);
> + #ifdef IEEE80211_DEBUG_REFCNT
> +@@ -7046,8 +7042,6 @@
> +                             goto lookup_slowpath;
> +                     }
> +                     ATH_RSSI_LPF(ATH_NODE(ni)->an_avgrssi, rs->rs_rssi);
> +-                    ath_node_sample_rx(ni, rs);
> +-                    ath_wprobe_report_rx(ni->ni_vap, rs, skb);
> +                     type = ieee80211_input(ni->ni_vap, ni, skb, 
> rs->rs_rssi, bf->bf_tsf);
> +                     ieee80211_unref_node(&ni);
> +             } else {
> +@@ -7063,12 +7057,8 @@
> +                             vap = ieee80211_find_rxvap(ic, wh->i_addr1);
> + 
> +                     if (vap) {
> +-                            ath_wprobe_report_rx(vap, rs, skb);
> +                             ni = ieee80211_find_rxnode(ic, vap, wh);
> +                     } else {
> +-                            TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {
> +-                                    ath_wprobe_report_rx(vap, rs, skb);
> +-                            }
> +                             ni = NULL;
> +                     }
> + 
> +@@ -7076,7 +7066,6 @@
> +                             ieee80211_keyix_t keyix;
> + 
> +                             ATH_RSSI_LPF(ATH_NODE(ni)->an_avgrssi, 
> rs->rs_rssi);
> +-                            ath_node_sample_rx(ni, rs);
> +                             type = ieee80211_input(vap, ni, skb, 
> rs->rs_rssi, bf->bf_tsf);
> +                             /*
> +                              * If the station has a key cache slot assigned
> +@@ -8662,7 +8651,6 @@
> +                             sc->sc_stats.ast_tx_rssi = ts->ts_rssi;
> +                             ATH_RSSI_LPF(an->an_halstats.ns_avgtxrssi,
> +                                     ts->ts_rssi);
> +-                                    ath_node_sample_tx(&an->an_node, ts, 
> bf->bf_skb);
> +                             if (bf->bf_skb->priority == WME_AC_VO ||
> +                                 bf->bf_skb->priority == WME_AC_VI)
> +                                     ni->ni_ic->ic_wme.wme_hipri_traffic++;
> +@@ -10175,7 +10163,6 @@
> +     struct ath_softc *sc = netdev_priv(ic->ic_dev);
> + 
> +     sc->sc_rc->ops->newassoc(sc, ATH_NODE(ni), isnew);
> +-    ath_wprobe_node_join(ni->ni_vap, ni);
> + 
> +     /* are we supporting compression? */
> +     if (!(vap->iv_ath_cap & ni->ni_ath_flags & IEEE80211_NODE_COMP))
> +diff -Naur madwifi-ng-r3314-20080131.orig/ath/if_athvar.h 
> madwifi-ng-r3314-20080131/ath/if_athvar.h
> +--- madwifi-ng-r3314-20080131.orig/ath/if_athvar.h   2010-10-26 
> 11:15:51.000000000 +0000
> ++++ madwifi-ng-r3314-20080131/ath/if_athvar.h        2010-10-26 
> 11:17:20.000000000 +0000
> +@@ -46,7 +46,6 @@
> + #include "ah_desc.h"
> + #include "ah_os.h"
> + #include "if_athioctl.h"
> +-#include <linux/wprobe.h>
> + #include "net80211/ieee80211.h"             /* XXX for WME_NUM_AC */
> + #include <asm/io.h>
> + #include <linux/list.h>
> +@@ -361,7 +360,6 @@
> + /* driver-specific node state */
> + struct ath_node {
> +     struct ieee80211_node an_node;          /* base class */
> +-    struct wprobe_link an_wplink;
> +     uint8_t an_wplink_active;
> +     struct work_struct an_destroy;
> +     u_int16_t an_decomp_index;              /* decompression mask index */
> +@@ -533,7 +531,6 @@
> + #else
> +     unsigned int av_beacon_alloc;
> + #endif
> +-    struct wprobe_iface av_wpif;
> +     u32 av_rxframes;
> +     u32 av_rxprobereq;
> + };
> diff --git a/recipes/madwifi/madwifi-ng_r3314-20080131.bb 
> b/recipes/madwifi/madwifi-ng_r3314-20080131.bb
> index 38f63f3..6a2c2a6 100644
> --- a/recipes/madwifi/madwifi-ng_r3314-20080131.bb
> +++ b/recipes/madwifi/madwifi-ng_r3314-20080131.bb
> @@ -2,12 +2,33 @@
>  
>  require madwifi-ng_r.inc
>  
> -SRC_URI += " \
> -     file://30-define-ioreadwrite32be-for-little-endian-too.patch \
> -     "
> -
>  # PR set after the include, to override what's set in the included file.
> -PR = "${INC_PR}.0"
> +PR = "${INC_PR}.1"
> +
> +# versions of OpenWrt backfire (10.03)
> +HAL_VERSION = "20090508"
> +SRCREV = "20550"
>  
> +SRC_URI += " \
> +        svn://svn.openwrt.org/openwrt/trunk/package/madwifi;module=patches \
> +        
> http://mirror2.openwrt.org/sources/ath_hal-${HAL_VERSION}.tgz;name=hal \
> +        file://fix-target-mips32.patch \
> +        file://remove-wprobe.patch;apply=no \
> +        "
>  SRC_URI[md5sum] = "2c7352cbbdac995de8c3bce5b80db5f2"
>  SRC_URI[sha256sum] = 
> "0599c75b95ba63bdc554cb8124192e62c75fbeb71b9e8a5a7bc351c8e0666758"
> +SRC_URI[hal.md5sum] = "4ab7ae8bdb96c0be388c98bf8f92d5ca"
> +SRC_URI[hal.sha256sum] = 
> "ced93d25aea7ee43807147a0269e69a072e718d59e7dab904bbe48b900409483"
> +
> +addtask postpatch after do_patch before do_configure
> +
> +do_postpatch() {
> +        rm -rf hal
> +        cp -a ${WORKDIR}/ath_hal-${HAL_VERSION} hal
> +        rm -f ${WORKDIR}/patches/446-single_module.patch
> +        for i in ${WORKDIR}/patches/*.patch; do
> +                oenote "Applying openwrt patch '$i'"
> +                patch -p1 -i $i
> +        done
> +        patch -p1 -i ${WORKDIR}/remove-wprobe.patch
> +}


_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to