linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Buesch <mb@bu3sch.de>
To: Ivo van Doorn <ivdoorn@gmail.com>
Cc: Jiri Benc <jbenc@suse.cz>,
	"John W. Linville" <linville@tuxdriver.com>,
	linux-wireless@vger.kernel.org
Subject: Re: [PATCH 2/3] d80211: Split antenna selection into TX and RX antenna
Date: Wed, 21 Feb 2007 18:32:05 +0100	[thread overview]
Message-ID: <200702211832.05316.mb@bu3sch.de> (raw)
In-Reply-To: <200702211824.45011.IvDoorn@gmail.com>

On Wednesday 21 February 2007 18:24, Ivo van Doorn wrote:
> > No, there is no need to inline. Simple static in main.c above
> > the config callback, please. :)
> > And simply return BCM43xx_ANTENNA_DEFAULT for the default:
> > case, so it doesn't break immediately, if someone decides
> > to add something to d80211.
> >
> > ...But we've almost got it :D
> > After that you'll get my sign-off.
> 
> bcm43xx_antenna_from_ieee80211 is no longer inlined,
> and it returns BCM43xx_ANTENNA_DEFAULT by default.
> 
> Hopefully I got it this time. :)

Yeah, *clap clap clap* :D

> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>

Signed-off-by: Michael Buesch <mb@bu3sch.de>

> ---
> 
> diff --git a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
> index cdce227..798427f 100644
> --- a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
> +++ b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
> @@ -2598,6 +2598,20 @@ static int bcm43xx_switch_phymode(struct bcm43xx_wl *wl,
>  	return 0;
>  }
>  
> +static int bcm43xx_antenna_from_ieee80211(u8 antenna)
> +{
> +	switch (antenna) {
> +	case 0: /* default/diversity */
> +		return BCM43xx_ANTENNA_DEFAULT;
> +	case 1: /* Antenna 0 */
> +		return BCM43xx_ANTENNA0;
> +	case 2: /* Antenna 1 */
> +		return BCM43xx_ANTENNA1;
> +	default:
> +		return BCM43xx_ANTENNA_DEFAULT;
> +	}
> +}
> +
>  static int bcm43xx_dev_config(struct ieee80211_hw *hw,
>  			      struct ieee80211_conf *conf)
>  {
> @@ -2606,22 +2620,12 @@ static int bcm43xx_dev_config(struct ieee80211_hw *hw,
>  	struct bcm43xx_phy *phy;
>  	unsigned long flags;
>  	unsigned int new_phymode = 0xFFFF;
> -	int antenna = -1;
> +	int antenna_tx;
> +	int antenna_rx;
>  	int err = 0;
>  
> -	switch (conf->antenna_sel) {
> -	case 0: /* default/diversity */
> -		antenna = BCM43xx_ANTENNA_DEFAULT;
> -		break;
> -	case 1: /* Antenna 0 */
> -		antenna = BCM43xx_ANTENNA0;
> -		break;
> -	case 2: /* Antenna 1 */
> -		antenna = BCM43xx_ANTENNA1;
> -		break;
> -	default:
> -		assert(0);
> -	}
> +	antenna_tx = bcm43xx_antenna_from_ieee80211(conf->antenna_sel_tx);
> +	antenna_rx = bcm43xx_antenna_from_ieee80211(conf->antenna_sel_rx);
>  
>  	mutex_lock(&wl->mutex);
>  
> @@ -2682,8 +2686,8 @@ static int bcm43xx_dev_config(struct ieee80211_hw *hw,
>  	}
>  
>  	/* Antennas for RX and management frame TX. */
> -	bcm43xx_mgmtframe_txantenna(dev, antenna);
> -	bcm43xx_set_rx_antenna(dev, antenna);
> +	bcm43xx_mgmtframe_txantenna(dev, antenna_tx);
> +	bcm43xx_set_rx_antenna(dev, antenna_rx);
>  
>  	/* Update templates for AP mode. */
>  	if (bcm43xx_is_mode(wl, IEEE80211_IF_TYPE_AP))
> diff --git a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_xmit.c b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_xmit.c
> index 71cba92..cfc84cd 100644
> --- a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_xmit.c
> +++ b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_xmit.c
> @@ -281,7 +281,7 @@ static void generate_txhdr_fw4(struct bcm43xx_wldev *dev,
>  		phy_ctl |= BCM43xx_TX4_PHY_OFDM;
>  	if (dev->short_preamble)
>  		phy_ctl |= BCM43xx_TX4_PHY_SHORTPRMBL;
> -	switch (txctl->antenna_sel) {
> +	switch (txctl->antenna_sel_tx) {
>  	case 0:
>  		phy_ctl |= BCM43xx_TX4_PHY_ANTLAST;
>  		break;
> 
> 

-- 
Greetings Michael.

      reply	other threads:[~2007-02-21 17:32 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-21 16:02 [PATCH 2/3] d80211: Split antenna selection into TX and RX antenna Ivo van Doorn
2007-02-21 16:37 ` Michael Buesch
2007-02-21 16:44   ` Ivo van Doorn
2007-02-21 16:51     ` Michael Buesch
2007-02-21 16:52       ` Ivo van Doorn
2007-02-21 17:06       ` Ivo van Doorn
2007-02-21 17:19         ` Michael Buesch
2007-02-21 17:24           ` Ivo van Doorn
2007-02-21 17:32             ` Michael Buesch [this message]

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=200702211832.05316.mb@bu3sch.de \
    --to=mb@bu3sch.de \
    --cc=ivdoorn@gmail.com \
    --cc=jbenc@suse.cz \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).