aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2008-09-14 20:15:46 +0200
committerLuis R. Rodriguez <lrodriguez@atheros.com>2008-09-15 09:44:48 -0700
commit0b0b33e9af6abc9bb5b7c02ddbc6f68387236dda (patch)
tree83aa21aa4ee6d01ab5a9e52856ad8cd9ddeca9ec
parentf9d4ff61a983aedf27b9f02c38389a5894bbccd0 (diff)
downloadcompat-wireless-2.6-old-0b0b33e9af6abc9bb5b7c02ddbc6f68387236dda.tar.gz
ath5k compat patches for older kernels
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
-rw-r--r--drivers/net/wireless/ath5k/attach.c4
-rw-r--r--drivers/net/wireless/ath5k/base.c8
-rw-r--r--drivers/net/wireless/ath5k/reset.c8
3 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath5k/attach.c b/drivers/net/wireless/ath5k/attach.c
index 153c411..c5ceb1f 100644
--- a/drivers/net/wireless/ath5k/attach.c
+++ b/drivers/net/wireless/ath5k/attach.c
@@ -230,7 +230,11 @@ struct ath5k_hw *ath5k_hw_attach(struct ath5k_softc *sc, u8 mac_version)
/*
* Write PCI-E power save settings
*/
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
+ if ((ah->ah_version == AR5K_AR5212) && compat_is_pcie(pdev)) {
+#else
if ((ah->ah_version == AR5K_AR5212) && (pdev->is_pcie)) {
+#endif
ath5k_hw_reg_write(ah, 0x9248fc00, 0x4080);
ath5k_hw_reg_write(ah, 0x24924924, 0x4080);
ath5k_hw_reg_write(ah, 0x28000039, 0x4080);
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
index e09ed2c..20bd58c 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -1117,7 +1117,11 @@ ath5k_rxbuf_setup(struct ath5k_softc *sc, struct ath5k_buf *bf)
bf->skb = skb;
bf->skbaddr = pci_map_single(sc->pdev,
skb->data, sc->rxbufsize, PCI_DMA_FROMDEVICE);
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27))
+ if (unlikely(pci_dma_mapping_error(bf->skbaddr))) {
+#else
if (unlikely(pci_dma_mapping_error(sc->pdev, bf->skbaddr))) {
+#endif
ATH5K_ERR(sc, "%s: DMA mapping failed\n", __func__);
dev_kfree_skb(skb);
bf->skb = NULL;
@@ -1884,7 +1888,11 @@ ath5k_beacon_setup(struct ath5k_softc *sc, struct ath5k_buf *bf)
ATH5K_DBG(sc, ATH5K_DEBUG_BEACON, "skb %p [data %p len %u] "
"skbaddr %llx\n", skb, skb->data, skb->len,
(unsigned long long)bf->skbaddr);
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27))
+ if (pci_dma_mapping_error(bf->skbaddr)) {
+#else
if (pci_dma_mapping_error(sc->pdev, bf->skbaddr)) {
+#endif
ATH5K_ERR(sc, "beacon DMA mapping failed\n");
return -EIO;
}
diff --git a/drivers/net/wireless/ath5k/reset.c b/drivers/net/wireless/ath5k/reset.c
index f5c3de8..f93956b 100644
--- a/drivers/net/wireless/ath5k/reset.c
+++ b/drivers/net/wireless/ath5k/reset.c
@@ -358,7 +358,11 @@ int ath5k_hw_nic_wakeup(struct ath5k_hw *ah, int flags, bool initial)
/* reseting PCI on PCI-E cards results card to hang
* and always return 0xffff... so we ingore that flag
* for PCI-E cards */
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
+ bus_flags = compat_is_pcie(pdev) ? 0 : AR5K_RESET_CTL_PCI;
+#else
bus_flags = (pdev->is_pcie) ? 0 : AR5K_RESET_CTL_PCI;
+#endif
/* Reset chipset */
ret = ath5k_hw_nic_reset(ah, AR5K_RESET_CTL_PCU |
@@ -754,7 +758,11 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
* TODO: Check out tx triger level, it's always 64 on dumps but I
* guess we can tweak it and see how it goes ;-)
*/
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
+ dma_size = compat_is_pcie(pdev) ? AR5K_DMASIZE_128B : AR5K_DMASIZE_512B;
+#else
dma_size = (pdev->is_pcie) ? AR5K_DMASIZE_128B : AR5K_DMASIZE_512B;
+#endif
if (ah->ah_version != AR5K_AR5210) {
AR5K_REG_WRITE_BITS(ah, AR5K_TXCFG,
AR5K_TXCFG_SDMAMR, dma_size);