linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: 2.6.24-rc4-mm1
       [not found] <20071204211701.994dfce6.akpm@linux-foundation.org>
@ 2007-12-07  2:12 ` Dave Young
  2007-12-07 22:22   ` 2.6.24-rc4-mm1 Luis R. Rodriguez
  2007-12-09 17:55   ` 2.6.24-rc4-mm1 Nick Kossifidis
  0 siblings, 2 replies; 4+ messages in thread
From: Dave Young @ 2007-12-07  2:12 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-kernel, jirislaby, mickflemm, mcgrof, linux-wireless,
	ath5k-devel

Hi,

2.6.24-rc4-mm1 build failed at drivers/net/wireless/ath5k/base.c for some inline functions like this:
drivers/net/wireless/ath5k/base.c:292: sorry, unimplemented: inlining failed in call to 'ath5k_extend_tsf': function body not available

fix it with adjust the order of inline function body.

Signed-off-by: Dave Young <hidave.darkstar@gmail.com> 

---
drivers/net/wireless/ath5k/base.c |   67 ++++++++++++++++----------------------
1 file changed, 29 insertions(+), 38 deletions(-)

diff -upr linux/drivers/net/wireless/ath5k/base.c linux.new/drivers/net/wireless/ath5k/base.c
--- linux/drivers/net/wireless/ath5k/base.c	2007-12-07 10:01:42.000000000 +0800
+++ linux.new/drivers/net/wireless/ath5k/base.c	2007-12-07 10:01:49.000000000 +0800
@@ -250,8 +250,19 @@ static int 	ath5k_rxbuf_setup(struct ath
 static int 	ath5k_txbuf_setup(struct ath5k_softc *sc,
 				struct ath5k_buf *bf,
 				struct ieee80211_tx_control *ctl);
+
 static inline void ath5k_txbuf_free(struct ath5k_softc *sc,
-				struct ath5k_buf *bf);
+				struct ath5k_buf *bf)
+{
+	BUG_ON(!bf);
+	if (!bf->skb)
+		return;
+	pci_unmap_single(sc->pdev, bf->skbaddr, bf->skb->len,
+			PCI_DMA_TODEVICE);
+	dev_kfree_skb(bf->skb);
+	bf->skb = NULL;
+}
+
 /* Queues setup */
 static struct 	ath5k_txq *ath5k_txq_setup(struct ath5k_softc *sc,
 				int qtype, int subtype);
@@ -278,14 +289,29 @@ static int 	ath5k_beacon_setup(struct at
 				struct ieee80211_tx_control *ctl);
 static void 	ath5k_beacon_send(struct ath5k_softc *sc);
 static void 	ath5k_beacon_config(struct ath5k_softc *sc);
-static inline u64 ath5k_extend_tsf(struct ath5k_hw *ah, u32 rstamp);
+
+static inline u64 ath5k_extend_tsf(struct ath5k_hw *ah, u32 rstamp)
+{
+	u64 tsf = ath5k_hw_get_tsf64(ah);
+
+	if ((tsf & 0x7fff) < rstamp)
+		tsf -= 0x8000;
+
+	return (tsf & ~0x7fff) | rstamp;
+}
+
 /* Interrupt handling */
 static int 	ath5k_init(struct ath5k_softc *sc);
 static int 	ath5k_stop_locked(struct ath5k_softc *sc);
 static int 	ath5k_stop_hw(struct ath5k_softc *sc);
 static irqreturn_t ath5k_intr(int irq, void *dev_id);
 static void 	ath5k_tasklet_reset(unsigned long data);
-static inline void ath5k_update_txpow(struct ath5k_softc *sc);
+
+static inline void ath5k_update_txpow(struct ath5k_softc *sc)
+{
+	ath5k_hw_set_txpower_limit(sc->ah, 0);
+}
+
 static void 	ath5k_calibrate(unsigned long data);
 /* LED functions */
 static void 	ath5k_led_off(unsigned long data);
@@ -1341,21 +1367,6 @@ err_unmap:
 	return ret;
 }
 
-static inline void
-ath5k_txbuf_free(struct ath5k_softc *sc, struct ath5k_buf *bf)
-{
-	BUG_ON(!bf);
-	if (!bf->skb)
-		return;
-	pci_unmap_single(sc->pdev, bf->skbaddr, bf->skb->len,
-			PCI_DMA_TODEVICE);
-	dev_kfree_skb(bf->skb);
-	bf->skb = NULL;
-}
-
-
-
-
 /**************\
 * Queues setup *
 \**************/
@@ -2046,20 +2057,6 @@ ath5k_beacon_config(struct ath5k_softc *
 #undef TSF_TO_TU
 }
 
-static inline
-u64 ath5k_extend_tsf(struct ath5k_hw *ah, u32 rstamp)
-{
-	u64 tsf = ath5k_hw_get_tsf64(ah);
-
-	if ((tsf & 0x7fff) < rstamp)
-		tsf -= 0x8000;
-
-	return (tsf & ~0x7fff) | rstamp;
-}
-
-
-
-
 /********************\
 * Interrupt handling *
 \********************/
@@ -2295,12 +2292,6 @@ ath5k_tasklet_reset(unsigned long data)
 	ath5k_reset(sc->hw);
 }
 
-static inline void
-ath5k_update_txpow(struct ath5k_softc *sc)
-{
-	ath5k_hw_set_txpower_limit(sc->ah, 0);
-}
-
 /*
  * Periodically recalibrate the PHY to account
  * for temperature/environment changes.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.6.24-rc4-mm1
  2007-12-07  2:12 ` 2.6.24-rc4-mm1 Dave Young
@ 2007-12-07 22:22   ` Luis R. Rodriguez
  2007-12-10  1:07     ` 2.6.24-rc4-mm1 Dave Young
  2007-12-09 17:55   ` 2.6.24-rc4-mm1 Nick Kossifidis
  1 sibling, 1 reply; 4+ messages in thread
From: Luis R. Rodriguez @ 2007-12-07 22:22 UTC (permalink / raw)
  To: Dave Young
  Cc: Andrew Morton, linux-kernel, jirislaby, mickflemm, linux-wireless,
	ath5k-devel

On Dec 6, 2007 9:12 PM, Dave Young <hidave.darkstar@gmail.com> wrote:
> Hi,
>
> 2.6.24-rc4-mm1 build failed at drivers/net/wireless/ath5k/base.c for some inline functions like this:
> drivers/net/wireless/ath5k/base.c:292: sorry, unimplemented: inlining failed in call to 'ath5k_extend_tsf': function body not available
>
> fix it with adjust the order of inline function body.
>
> Signed-off-by: Dave Young <hidave.darkstar@gmail.com>

Acked-by: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>

Thanks Dave. What version of gcc were you using? I haven't run into this.

BTW, nothing new was added in this patch, things were just shifted,
but even that may be copyrightable. Is it fair to assume you are
licensing these changes under the same license the file is in?

For this file we'd usually use:

Changes-licensed-under: 3-clause-BSD

For future reference:

http://linuxwireless.org/en/developers/Documentation/SubmittingPatches#Changes-licensed-undertag

  Luis

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.6.24-rc4-mm1
  2007-12-07  2:12 ` 2.6.24-rc4-mm1 Dave Young
  2007-12-07 22:22   ` 2.6.24-rc4-mm1 Luis R. Rodriguez
@ 2007-12-09 17:55   ` Nick Kossifidis
  1 sibling, 0 replies; 4+ messages in thread
From: Nick Kossifidis @ 2007-12-09 17:55 UTC (permalink / raw)
  To: Dave Young
  Cc: Andrew Morton, linux-kernel, jirislaby, mcgrof, linux-wireless,
	ath5k-devel, John W. Linville

2007/12/7, Dave Young <hidave.darkstar@gmail.com>:
> Hi,
>
> 2.6.24-rc4-mm1 build failed at drivers/net/wireless/ath5k/base.c for some inline functions like this:
> drivers/net/wireless/ath5k/base.c:292: sorry, unimplemented: inlining failed in call to 'ath5k_extend_tsf': function body not available
>
> fix it with adjust the order of inline function body.
>
> Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
>
> ---
> drivers/net/wireless/ath5k/base.c |   67 ++++++++++++++++----------------------
> 1 file changed, 29 insertions(+), 38 deletions(-)
>
> diff -upr linux/drivers/net/wireless/ath5k/base.c linux.new/drivers/net/wireless/ath5k/base.c
> --- linux/drivers/net/wireless/ath5k/base.c     2007-12-07 10:01:42.000000000 +0800
> +++ linux.new/drivers/net/wireless/ath5k/base.c 2007-12-07 10:01:49.000000000 +0800
> @@ -250,8 +250,19 @@ static int         ath5k_rxbuf_setup(struct ath
>  static int     ath5k_txbuf_setup(struct ath5k_softc *sc,
>                                 struct ath5k_buf *bf,
>                                 struct ieee80211_tx_control *ctl);
> +
>  static inline void ath5k_txbuf_free(struct ath5k_softc *sc,
> -                               struct ath5k_buf *bf);
> +                               struct ath5k_buf *bf)
> +{
> +       BUG_ON(!bf);
> +       if (!bf->skb)
> +               return;
> +       pci_unmap_single(sc->pdev, bf->skbaddr, bf->skb->len,
> +                       PCI_DMA_TODEVICE);
> +       dev_kfree_skb(bf->skb);
> +       bf->skb = NULL;
> +}
> +
>  /* Queues setup */
>  static struct  ath5k_txq *ath5k_txq_setup(struct ath5k_softc *sc,
>                                 int qtype, int subtype);
> @@ -278,14 +289,29 @@ static int        ath5k_beacon_setup(struct at
>                                 struct ieee80211_tx_control *ctl);
>  static void    ath5k_beacon_send(struct ath5k_softc *sc);
>  static void    ath5k_beacon_config(struct ath5k_softc *sc);
> -static inline u64 ath5k_extend_tsf(struct ath5k_hw *ah, u32 rstamp);
> +
> +static inline u64 ath5k_extend_tsf(struct ath5k_hw *ah, u32 rstamp)
> +{
> +       u64 tsf = ath5k_hw_get_tsf64(ah);
> +
> +       if ((tsf & 0x7fff) < rstamp)
> +               tsf -= 0x8000;
> +
> +       return (tsf & ~0x7fff) | rstamp;
> +}
> +
>  /* Interrupt handling */
>  static int     ath5k_init(struct ath5k_softc *sc);
>  static int     ath5k_stop_locked(struct ath5k_softc *sc);
>  static int     ath5k_stop_hw(struct ath5k_softc *sc);
>  static irqreturn_t ath5k_intr(int irq, void *dev_id);
>  static void    ath5k_tasklet_reset(unsigned long data);
> -static inline void ath5k_update_txpow(struct ath5k_softc *sc);
> +
> +static inline void ath5k_update_txpow(struct ath5k_softc *sc)
> +{
> +       ath5k_hw_set_txpower_limit(sc->ah, 0);
> +}
> +
>  static void    ath5k_calibrate(unsigned long data);
>  /* LED functions */
>  static void    ath5k_led_off(unsigned long data);
> @@ -1341,21 +1367,6 @@ err_unmap:
>         return ret;
>  }
>
> -static inline void
> -ath5k_txbuf_free(struct ath5k_softc *sc, struct ath5k_buf *bf)
> -{
> -       BUG_ON(!bf);
> -       if (!bf->skb)
> -               return;
> -       pci_unmap_single(sc->pdev, bf->skbaddr, bf->skb->len,
> -                       PCI_DMA_TODEVICE);
> -       dev_kfree_skb(bf->skb);
> -       bf->skb = NULL;
> -}
> -
> -
> -
> -
>  /**************\
>  * Queues setup *
>  \**************/
> @@ -2046,20 +2057,6 @@ ath5k_beacon_config(struct ath5k_softc *
>  #undef TSF_TO_TU
>  }
>
> -static inline
> -u64 ath5k_extend_tsf(struct ath5k_hw *ah, u32 rstamp)
> -{
> -       u64 tsf = ath5k_hw_get_tsf64(ah);
> -
> -       if ((tsf & 0x7fff) < rstamp)
> -               tsf -= 0x8000;
> -
> -       return (tsf & ~0x7fff) | rstamp;
> -}
> -
> -
> -
> -
>  /********************\
>  * Interrupt handling *
>  \********************/
> @@ -2295,12 +2292,6 @@ ath5k_tasklet_reset(unsigned long data)
>         ath5k_reset(sc->hw);
>  }
>
> -static inline void
> -ath5k_update_txpow(struct ath5k_softc *sc)
> -{
> -       ath5k_hw_set_txpower_limit(sc->ah, 0);
> -}
> -
>  /*
>   * Periodically recalibrate the PHY to account
>   * for temperature/environment changes.
>

We'll change their order in the code, plz keep prototype declarations
clean. I'll submit a patch asap on this.

-- 
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.6.24-rc4-mm1
  2007-12-07 22:22   ` 2.6.24-rc4-mm1 Luis R. Rodriguez
@ 2007-12-10  1:07     ` Dave Young
  0 siblings, 0 replies; 4+ messages in thread
From: Dave Young @ 2007-12-10  1:07 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Andrew Morton, linux-kernel, jirislaby, mickflemm, linux-wireless,
	ath5k-devel

On Dec 8, 2007 6:22 AM, Luis R. Rodriguez <mcgrof@winlab.rutgers.edu> wrote:
> On Dec 6, 2007 9:12 PM, Dave Young <hidave.darkstar@gmail.com> wrote:
> > Hi,
> >
> > 2.6.24-rc4-mm1 build failed at drivers/net/wireless/ath5k/base.c for some inline functions like this:
> > drivers/net/wireless/ath5k/base.c:292: sorry, unimplemented: inlining failed in call to 'ath5k_extend_tsf': function body not available
> >
> > fix it with adjust the order of inline function body.
> >
> > Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
>
> Acked-by: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>

Thanks.

>
> Thanks Dave. What version of gcc were you using? I haven't run into this.

gcc 3.4.6

>
> BTW, nothing new was added in this patch, things were just shifted,
> but even that may be copyrightable. Is it fair to assume you are
> licensing these changes under the same license the file is in?

Ok, I don't care.

>
> For this file we'd usually use:
>
> Changes-licensed-under: 3-clause-BSD
>
> For future reference:
>
> http://linuxwireless.org/en/developers/Documentation/SubmittingPatches#Changes-licensed-undertag
>
>   Luis
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-12-10  1:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20071204211701.994dfce6.akpm@linux-foundation.org>
2007-12-07  2:12 ` 2.6.24-rc4-mm1 Dave Young
2007-12-07 22:22   ` 2.6.24-rc4-mm1 Luis R. Rodriguez
2007-12-10  1:07     ` 2.6.24-rc4-mm1 Dave Young
2007-12-09 17:55   ` 2.6.24-rc4-mm1 Nick Kossifidis

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).