Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753931AbXLGCMq (ORCPT ); Thu, 6 Dec 2007 21:12:46 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752822AbXLGCMh (ORCPT ); Thu, 6 Dec 2007 21:12:37 -0500 Received: from mu-out-0910.google.com ([209.85.134.187]:41154 "EHLO mu-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752683AbXLGCMg (ORCPT ); Thu, 6 Dec 2007 21:12:36 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:references:mime-version:content-type:content-disposition:in-reply-to:user-agent; b=HGO/vBPiXUC+UauGpDlyHqmV4IWIRT469CmiFM4gWh7x0t414r6u8wAqCwIm6+fmFxVfMTxn7k4eKGYqzaC8CXMX6NSOHJkSIMIJ5Wmzmwf/sr1YlmjzpT78VN5nJChC6aZ0nk/w2eKL9AcUft955UGF3YY3O0Rk/yDRnILTIaA= Date: Fri, 7 Dec 2007 10:12:58 +0800 From: Dave Young To: Andrew Morton Cc: linux-kernel@vger.kernel.org, jirislaby@gmail.com, mickflemm@gmail.com, mcgrof@gmail.com, linux-wireless@vger.kernel.org, ath5k-devel@lists.ath5k.org Subject: Re: 2.6.24-rc4-mm1 Message-ID: <20071207021258.GA12624@darkstar.lan> References: <20071204211701.994dfce6.akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20071204211701.994dfce6.akpm@linux-foundation.org> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3703 Lines: 130 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 --- 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/