All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Westerhof <mike@mwester.net>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [PATCH 3/3] madwifi-ng-r3314: Apply patches from OpenWrt 10.03
Date: Thu, 20 Jan 2011 11:36:15 -0600	[thread overview]
Message-ID: <4D38728F.1070002@mwester.net> (raw)
In-Reply-To: <1295542406-7879-3-git-send-email-obi@opendreambox.org>

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 <obi@opendreambox.org>
> CC: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> ---
> 
>  ...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
> +}




  reply	other threads:[~2011-01-20 17:52 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-20 16:53 [PATCH 1/3] madwifi-ng: remove unused version r3837-20080802 Andreas Oberritter
2011-01-20 16:53 ` [PATCH 2/3] madwifi-ng: convert to new style staging, fix packaging Andreas Oberritter
2011-01-20 16:53 ` [PATCH 3/3] madwifi-ng-r3314: Apply patches from OpenWrt 10.03 Andreas Oberritter
2011-01-20 17:36   ` Mike Westerhof [this message]
2011-01-20 18:44     ` Andreas Oberritter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D38728F.1070002@mwester.net \
    --to=mike@mwester.net \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.