* [PATCH 0/6] rt2x00 fixes and cleanups
@ 2009-12-30 10:36 Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 1/6] rt2x00: use correct headroom for transmission Gertjan van Wingerde
0 siblings, 1 reply; 12+ messages in thread
From: Gertjan van Wingerde @ 2009-12-30 10:36 UTC (permalink / raw)
To: John W. Linville, Wireless list, rt2x00 users list
Cc: Ivo van Doorn, Gertjan van Wingerde
Another set of miscellaneous fixes and cleanups for rt2x00.
This includes the TX headroom reservation fixes that were submitted
before but removed after breakage. The series now contains a fix
for that found by Pavel Roskin.
The series is against wireless-next-2.6.
The series can also be pulled from:
git://git.gwingerde.nl/rt2x00-next-2.6.git
Gertjan van Wingerde (5):
rt2x00: Properly request tx headroom for alignment operations.
rt2x00: RF3052 is a valid RF chipset for USB devices as well.
rt2x00: Unify rt2800 WPDMA ready waiting functions.
rt2x00: Fix LED configuration setting for rt2800.
rt2x00: Make rt2800_init_led static and don't export it.
Pavel Roskin (1):
rt2x00: use correct headroom for transmission
drivers/net/wireless/rt2x00/rt2800lib.c | 29 ++++++++++++++++++++++++-----
drivers/net/wireless/rt2x00/rt2800lib.h | 3 +--
drivers/net/wireless/rt2x00/rt2800pci.c | 24 +++---------------------
drivers/net/wireless/rt2x00/rt2800usb.c | 22 ++--------------------
drivers/net/wireless/rt2x00/rt2x00.h | 6 ++++++
drivers/net/wireless/rt2x00/rt2x00dev.c | 12 +++++++++++-
drivers/net/wireless/rt2x00/rt2x00queue.c | 6 +++---
7 files changed, 50 insertions(+), 52 deletions(-)
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/6] rt2x00: use correct headroom for transmission
2009-12-30 10:36 [PATCH 0/6] rt2x00 fixes and cleanups Gertjan van Wingerde
@ 2009-12-30 10:36 ` Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 2/6] rt2x00: Properly request tx headroom for alignment operations Gertjan van Wingerde
2009-12-30 20:41 ` [PATCH 1/6] rt2x00: use correct headroom for transmission Ivo van Doorn
0 siblings, 2 replies; 12+ messages in thread
From: Gertjan van Wingerde @ 2009-12-30 10:36 UTC (permalink / raw)
To: John W. Linville, Wireless list, rt2x00 users list
Cc: Ivo van Doorn, Pavel Roskin, Gertjan van Wingerde
From: Pavel Roskin <proski@gnu.org>
Use rt2x00dev->ops->extra_tx_headroom, not rt2x00dev->hw->extra_tx_headroom
in the tx code, as the later may include other headroom not to be used in
the chipset driver.
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
---
drivers/net/wireless/rt2x00/rt2x00queue.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c
index 3d8fb68..0b4801a 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.c
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.c
@@ -104,7 +104,7 @@ void rt2x00queue_map_txskb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb)
* is also mapped to the DMA so it can be used for transfering
* additional descriptor information to the hardware.
*/
- skb_push(skb, rt2x00dev->hw->extra_tx_headroom);
+ skb_push(skb, rt2x00dev->ops->extra_tx_headroom);
skbdesc->skb_dma =
dma_map_single(rt2x00dev->dev, skb->data, skb->len, DMA_TO_DEVICE);
@@ -112,7 +112,7 @@ void rt2x00queue_map_txskb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb)
/*
* Restore data pointer to original location again.
*/
- skb_pull(skb, rt2x00dev->hw->extra_tx_headroom);
+ skb_pull(skb, rt2x00dev->ops->extra_tx_headroom);
skbdesc->flags |= SKBDESC_DMA_MAPPED_TX;
}
@@ -134,7 +134,7 @@ void rt2x00queue_unmap_skb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb)
* by the driver, but it was actually mapped to DMA.
*/
dma_unmap_single(rt2x00dev->dev, skbdesc->skb_dma,
- skb->len + rt2x00dev->hw->extra_tx_headroom,
+ skb->len + rt2x00dev->ops->extra_tx_headroom,
DMA_TO_DEVICE);
skbdesc->flags &= ~SKBDESC_DMA_MAPPED_TX;
}
--
1.6.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/6] rt2x00: Properly request tx headroom for alignment operations.
2009-12-30 10:36 ` [PATCH 1/6] rt2x00: use correct headroom for transmission Gertjan van Wingerde
@ 2009-12-30 10:36 ` Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 3/6] rt2x00: RF3052 is a valid RF chipset for USB devices as well Gertjan van Wingerde
2009-12-30 20:41 ` [PATCH 1/6] rt2x00: use correct headroom for transmission Ivo van Doorn
1 sibling, 1 reply; 12+ messages in thread
From: Gertjan van Wingerde @ 2009-12-30 10:36 UTC (permalink / raw)
To: John W. Linville, Wireless list, rt2x00 users list
Cc: Ivo van Doorn, Gertjan van Wingerde
Current rt2x00 drivers may result in a "ieee80211_tx_status: headroom too
small" error message when a frame needs to be properly aligned before
transmitting it.
This is because the space needed to ensure proper alignment isn't
requested from mac80211.
Fix this by adding sufficient amount of alignment space to the amount
of headroom requested for TX frames.
Reported-by: David Ellingsworth <david@identd.dyndns.org>
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <ivdoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2x00.h | 6 ++++++
drivers/net/wireless/rt2x00/rt2x00dev.c | 12 +++++++++++-
2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h
index b4c6e0a..096da85 100644
--- a/drivers/net/wireless/rt2x00/rt2x00.h
+++ b/drivers/net/wireless/rt2x00/rt2x00.h
@@ -119,6 +119,12 @@
( ((unsigned long)((__skb)->data + (__header))) & 3 )
/*
+ * Constants for extra TX headroom for alignment purposes.
+ */
+#define RT2X00_ALIGN_SIZE 4 /* Only whole frame needs alignment */
+#define RT2X00_L2PAD_SIZE 8 /* Both header & payload need alignment */
+
+/*
* Standard timing and size defines.
* These values should follow the ieee80211 specifications.
*/
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index d7711e4..b93731b 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -688,7 +688,17 @@ static int rt2x00lib_probe_hw(struct rt2x00_dev *rt2x00dev)
/*
* Initialize extra TX headroom required.
*/
- rt2x00dev->hw->extra_tx_headroom = rt2x00dev->ops->extra_tx_headroom;
+ rt2x00dev->hw->extra_tx_headroom =
+ max_t(unsigned int, IEEE80211_TX_STATUS_HEADROOM,
+ rt2x00dev->ops->extra_tx_headroom);
+
+ /*
+ * Take TX headroom required for alignment into account.
+ */
+ if (test_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags))
+ rt2x00dev->hw->extra_tx_headroom += RT2X00_L2PAD_SIZE;
+ else if (test_bit(DRIVER_REQUIRE_DMA, &rt2x00dev->flags))
+ rt2x00dev->hw->extra_tx_headroom += RT2X00_ALIGN_SIZE;
/*
* Register HW.
--
1.6.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/6] rt2x00: RF3052 is a valid RF chipset for USB devices as well.
2009-12-30 10:36 ` [PATCH 2/6] rt2x00: Properly request tx headroom for alignment operations Gertjan van Wingerde
@ 2009-12-30 10:36 ` Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 4/6] rt2x00: Unify rt2800 WPDMA ready waiting functions Gertjan van Wingerde
2009-12-30 20:41 ` [PATCH 3/6] rt2x00: RF3052 is a valid RF chipset for USB devices as well Ivo van Doorn
0 siblings, 2 replies; 12+ messages in thread
From: Gertjan van Wingerde @ 2009-12-30 10:36 UTC (permalink / raw)
To: John W. Linville, Wireless list, rt2x00 users list
Cc: Ivo van Doorn, Gertjan van Wingerde
The RF3052 chipset is now also being integrated onto USB devices, so
allow the RF chipset and don't treat it as PCI/SOC only.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800lib.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index 8ff7db8..bcb7e17 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -1862,7 +1862,8 @@ int rt2800_init_eeprom(struct rt2x00_dev *rt2x00dev)
!rt2x00_rf(rt2x00dev, RF3020) &&
!rt2x00_rf(rt2x00dev, RF2020) &&
!rt2x00_rf(rt2x00dev, RF3021) &&
- !rt2x00_rf(rt2x00dev, RF3022)) {
+ !rt2x00_rf(rt2x00dev, RF3022) &&
+ !rt2x00_rf(rt2x00dev, RF3052)) {
ERROR(rt2x00dev, "Invalid RF chipset detected.\n");
return -ENODEV;
}
@@ -2047,7 +2048,7 @@ int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
if (rt2x00_rf(rt2x00dev, RF2820) ||
rt2x00_rf(rt2x00dev, RF2720) ||
- (rt2x00_intf_is_pci(rt2x00dev) && rt2x00_rf(rt2x00dev, RF3052))) {
+ rt2x00_rf(rt2x00dev, RF3052)) {
spec->num_channels = 14;
spec->channels = rf_vals;
} else if (rt2x00_rf(rt2x00dev, RF2850) || rt2x00_rf(rt2x00dev, RF2750)) {
--
1.6.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 4/6] rt2x00: Unify rt2800 WPDMA ready waiting functions.
2009-12-30 10:36 ` [PATCH 3/6] rt2x00: RF3052 is a valid RF chipset for USB devices as well Gertjan van Wingerde
@ 2009-12-30 10:36 ` Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 5/6] rt2x00: Fix LED configuration setting for rt2800 Gertjan van Wingerde
2009-12-30 20:42 ` [PATCH 4/6] rt2x00: Unify rt2800 WPDMA ready waiting functions Ivo van Doorn
2009-12-30 20:41 ` [PATCH 3/6] rt2x00: RF3052 is a valid RF chipset for USB devices as well Ivo van Doorn
1 sibling, 2 replies; 12+ messages in thread
From: Gertjan van Wingerde @ 2009-12-30 10:36 UTC (permalink / raw)
To: John W. Linville, Wireless list, rt2x00 users list
Cc: Ivo van Doorn, Gertjan van Wingerde
The rt2800pci_wait_wpdma_ready and rt2800usb_wait_wpdma_ready functions are
exactly the same, so unify them into rt200lib.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800lib.c | 19 +++++++++++++++++++
drivers/net/wireless/rt2x00/rt2800lib.h | 1 +
drivers/net/wireless/rt2x00/rt2800pci.c | 24 +++---------------------
drivers/net/wireless/rt2x00/rt2800usb.c | 22 ++--------------------
4 files changed, 25 insertions(+), 41 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index bcb7e17..9a02589 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -245,6 +245,25 @@ void rt2800_mcu_request(struct rt2x00_dev *rt2x00dev,
}
EXPORT_SYMBOL_GPL(rt2800_mcu_request);
+int rt2800_wait_wpdma_ready(struct rt2x00_dev *rt2x00dev)
+{
+ unsigned int i;
+ u32 reg;
+
+ for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
+ rt2800_register_read(rt2x00dev, WPDMA_GLO_CFG, ®);
+ if (!rt2x00_get_field32(reg, WPDMA_GLO_CFG_TX_DMA_BUSY) &&
+ !rt2x00_get_field32(reg, WPDMA_GLO_CFG_RX_DMA_BUSY))
+ return 0;
+
+ msleep(1);
+ }
+
+ ERROR(rt2x00dev, "WPDMA TX/RX busy, aborting.\n");
+ return -EACCES;
+}
+EXPORT_SYMBOL_GPL(rt2800_wait_wpdma_ready);
+
#ifdef CONFIG_RT2X00_LIB_DEBUGFS
const struct rt2x00debug rt2800_rt2x00debug = {
.owner = THIS_MODULE,
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.h b/drivers/net/wireless/rt2x00/rt2800lib.h
index 535ce22..9adb343 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.h
+++ b/drivers/net/wireless/rt2x00/rt2800lib.h
@@ -139,6 +139,7 @@ void rt2800_link_tuner(struct rt2x00_dev *rt2x00dev, struct link_qual *qual,
int rt2800_init_registers(struct rt2x00_dev *rt2x00dev);
int rt2800_init_bbp(struct rt2x00_dev *rt2x00dev);
int rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev);
+int rt2800_wait_wpdma_ready(struct rt2x00_dev *rt2x00dev);
int rt2800_efuse_detect(struct rt2x00_dev *rt2x00dev);
void rt2800_read_eeprom_efuse(struct rt2x00_dev *rt2x00dev);
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index b93eabb..daea0b7 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -453,24 +453,6 @@ static void rt2800pci_toggle_irq(struct rt2x00_dev *rt2x00dev,
rt2800_register_write(rt2x00dev, INT_MASK_CSR, reg);
}
-static int rt2800pci_wait_wpdma_ready(struct rt2x00_dev *rt2x00dev)
-{
- unsigned int i;
- u32 reg;
-
- for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
- rt2800_register_read(rt2x00dev, WPDMA_GLO_CFG, ®);
- if (!rt2x00_get_field32(reg, WPDMA_GLO_CFG_TX_DMA_BUSY) &&
- !rt2x00_get_field32(reg, WPDMA_GLO_CFG_RX_DMA_BUSY))
- return 0;
-
- msleep(1);
- }
-
- ERROR(rt2x00dev, "WPDMA TX/RX busy, aborting.\n");
- return -EACCES;
-}
-
static int rt2800pci_enable_radio(struct rt2x00_dev *rt2x00dev)
{
u32 reg;
@@ -479,10 +461,10 @@ static int rt2800pci_enable_radio(struct rt2x00_dev *rt2x00dev)
/*
* Initialize all registers.
*/
- if (unlikely(rt2800pci_wait_wpdma_ready(rt2x00dev) ||
+ if (unlikely(rt2800_wait_wpdma_ready(rt2x00dev) ||
rt2800pci_init_queues(rt2x00dev) ||
rt2800_init_registers(rt2x00dev) ||
- rt2800pci_wait_wpdma_ready(rt2x00dev) ||
+ rt2800_wait_wpdma_ready(rt2x00dev) ||
rt2800_init_bbp(rt2x00dev) ||
rt2800_init_rfcsr(rt2x00dev)))
return -EIO;
@@ -562,7 +544,7 @@ static void rt2800pci_disable_radio(struct rt2x00_dev *rt2x00dev)
rt2800_register_write(rt2x00dev, PBF_SYS_CTRL, 0x00000e00);
/* Wait for DMA, ignore error */
- rt2800pci_wait_wpdma_ready(rt2x00dev);
+ rt2800_wait_wpdma_ready(rt2x00dev);
}
static int rt2800pci_set_state(struct rt2x00_dev *rt2x00dev,
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 411655e..80b49a8 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -248,24 +248,6 @@ static void rt2800usb_toggle_rx(struct rt2x00_dev *rt2x00dev,
rt2800_register_write(rt2x00dev, MAC_SYS_CTRL, reg);
}
-static int rt2800usb_wait_wpdma_ready(struct rt2x00_dev *rt2x00dev)
-{
- unsigned int i;
- u32 reg;
-
- for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
- rt2800_register_read(rt2x00dev, WPDMA_GLO_CFG, ®);
- if (!rt2x00_get_field32(reg, WPDMA_GLO_CFG_TX_DMA_BUSY) &&
- !rt2x00_get_field32(reg, WPDMA_GLO_CFG_RX_DMA_BUSY))
- return 0;
-
- msleep(1);
- }
-
- ERROR(rt2x00dev, "WPDMA TX/RX busy, aborting.\n");
- return -EACCES;
-}
-
static int rt2800usb_enable_radio(struct rt2x00_dev *rt2x00dev)
{
u32 reg;
@@ -274,7 +256,7 @@ static int rt2800usb_enable_radio(struct rt2x00_dev *rt2x00dev)
/*
* Initialize all registers.
*/
- if (unlikely(rt2800usb_wait_wpdma_ready(rt2x00dev) ||
+ if (unlikely(rt2800_wait_wpdma_ready(rt2x00dev) ||
rt2800_init_registers(rt2x00dev) ||
rt2800_init_bbp(rt2x00dev) ||
rt2800_init_rfcsr(rt2x00dev)))
@@ -344,7 +326,7 @@ static void rt2800usb_disable_radio(struct rt2x00_dev *rt2x00dev)
rt2800_register_write(rt2x00dev, TX_PIN_CFG, 0);
/* Wait for DMA, ignore error */
- rt2800usb_wait_wpdma_ready(rt2x00dev);
+ rt2800_wait_wpdma_ready(rt2x00dev);
rt2x00usb_disable_radio(rt2x00dev);
}
--
1.6.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 5/6] rt2x00: Fix LED configuration setting for rt2800.
2009-12-30 10:36 ` [PATCH 4/6] rt2x00: Unify rt2800 WPDMA ready waiting functions Gertjan van Wingerde
@ 2009-12-30 10:36 ` Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 6/6] rt2x00: Make rt2800_init_led static and don't export it Gertjan van Wingerde
2009-12-30 20:42 ` [PATCH 5/6] rt2x00: Fix LED configuration setting for rt2800 Ivo van Doorn
2009-12-30 20:42 ` [PATCH 4/6] rt2x00: Unify rt2800 WPDMA ready waiting functions Ivo van Doorn
1 sibling, 2 replies; 12+ messages in thread
From: Gertjan van Wingerde @ 2009-12-30 10:36 UTC (permalink / raw)
To: John W. Linville, Wireless list, rt2x00 users list
Cc: Ivo van Doorn, Gertjan van Wingerde
rt2800_blink_set uses an illegal value to set the LED_CFG_G_LED_MODE
field of the LED_CFG register. This field is only 2 bits large, so
should be initialized with value that fits. Use default value from
the vendor driver.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800lib.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index 9a02589..ca700a4 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -358,7 +358,7 @@ static int rt2800_blink_set(struct led_classdev *led_cdev,
rt2x00_set_field32(®, LED_CFG_OFF_PERIOD, *delay_off);
rt2x00_set_field32(®, LED_CFG_SLOW_BLINK_PERIOD, 3);
rt2x00_set_field32(®, LED_CFG_R_LED_MODE, 3);
- rt2x00_set_field32(®, LED_CFG_G_LED_MODE, 12);
+ rt2x00_set_field32(®, LED_CFG_G_LED_MODE, 3);
rt2x00_set_field32(®, LED_CFG_Y_LED_MODE, 3);
rt2x00_set_field32(®, LED_CFG_LED_POLAR, 1);
rt2800_register_write(led->rt2x00dev, LED_CFG, reg);
--
1.6.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 6/6] rt2x00: Make rt2800_init_led static and don't export it.
2009-12-30 10:36 ` [PATCH 5/6] rt2x00: Fix LED configuration setting for rt2800 Gertjan van Wingerde
@ 2009-12-30 10:36 ` Gertjan van Wingerde
2009-12-30 20:42 ` Ivo van Doorn
2009-12-30 20:42 ` [PATCH 5/6] rt2x00: Fix LED configuration setting for rt2800 Ivo van Doorn
1 sibling, 1 reply; 12+ messages in thread
From: Gertjan van Wingerde @ 2009-12-30 10:36 UTC (permalink / raw)
To: John W. Linville, Wireless list, rt2x00 users list
Cc: Ivo van Doorn, Gertjan van Wingerde
It is only used within the rt2800lib module itself.
Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800lib.c | 3 +--
drivers/net/wireless/rt2x00/rt2800lib.h | 2 --
2 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index ca700a4..529a373 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -366,7 +366,7 @@ static int rt2800_blink_set(struct led_classdev *led_cdev,
return 0;
}
-void rt2800_init_led(struct rt2x00_dev *rt2x00dev,
+static void rt2800_init_led(struct rt2x00_dev *rt2x00dev,
struct rt2x00_led *led, enum led_type type)
{
led->rt2x00dev = rt2x00dev;
@@ -375,7 +375,6 @@ void rt2800_init_led(struct rt2x00_dev *rt2x00dev,
led->led_dev.blink_set = rt2800_blink_set;
led->flags = LED_INITIALIZED;
}
-EXPORT_SYMBOL_GPL(rt2800_init_led);
#endif /* CONFIG_RT2X00_LIB_LEDS */
/*
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.h b/drivers/net/wireless/rt2x00/rt2800lib.h
index 9adb343..ebabeae 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.h
+++ b/drivers/net/wireless/rt2x00/rt2800lib.h
@@ -114,8 +114,6 @@ void rt2800_mcu_request(struct rt2x00_dev *rt2x00dev,
extern const struct rt2x00debug rt2800_rt2x00debug;
int rt2800_rfkill_poll(struct rt2x00_dev *rt2x00dev);
-void rt2800_init_led(struct rt2x00_dev *rt2x00dev,
- struct rt2x00_led *led, enum led_type type);
int rt2800_config_shared_key(struct rt2x00_dev *rt2x00dev,
struct rt2x00lib_crypto *crypto,
struct ieee80211_key_conf *key);
--
1.6.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 1/6] rt2x00: use correct headroom for transmission
2009-12-30 10:36 ` [PATCH 1/6] rt2x00: use correct headroom for transmission Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 2/6] rt2x00: Properly request tx headroom for alignment operations Gertjan van Wingerde
@ 2009-12-30 20:41 ` Ivo van Doorn
1 sibling, 0 replies; 12+ messages in thread
From: Ivo van Doorn @ 2009-12-30 20:41 UTC (permalink / raw)
To: Gertjan van Wingerde
Cc: John W. Linville, Wireless list, rt2x00 users list, Pavel Roskin
On Wednesday 30 December 2009, Gertjan van Wingerde wrote:
> From: Pavel Roskin <proski@gnu.org>
>
> Use rt2x00dev->ops->extra_tx_headroom, not rt2x00dev->hw->extra_tx_headroom
> in the tx code, as the later may include other headroom not to be used in
> the chipset driver.
>
> Signed-off-by: Pavel Roskin <proski@gnu.org>
> Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 3/6] rt2x00: RF3052 is a valid RF chipset for USB devices as well.
2009-12-30 10:36 ` [PATCH 3/6] rt2x00: RF3052 is a valid RF chipset for USB devices as well Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 4/6] rt2x00: Unify rt2800 WPDMA ready waiting functions Gertjan van Wingerde
@ 2009-12-30 20:41 ` Ivo van Doorn
1 sibling, 0 replies; 12+ messages in thread
From: Ivo van Doorn @ 2009-12-30 20:41 UTC (permalink / raw)
To: Gertjan van Wingerde; +Cc: John W. Linville, Wireless list, rt2x00 users list
On Wednesday 30 December 2009, Gertjan van Wingerde wrote:
> The RF3052 chipset is now also being integrated onto USB devices, so
> allow the RF chipset and don't treat it as PCI/SOC only.
>
> Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/6] rt2x00: Unify rt2800 WPDMA ready waiting functions.
2009-12-30 10:36 ` [PATCH 4/6] rt2x00: Unify rt2800 WPDMA ready waiting functions Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 5/6] rt2x00: Fix LED configuration setting for rt2800 Gertjan van Wingerde
@ 2009-12-30 20:42 ` Ivo van Doorn
1 sibling, 0 replies; 12+ messages in thread
From: Ivo van Doorn @ 2009-12-30 20:42 UTC (permalink / raw)
To: Gertjan van Wingerde; +Cc: John W. Linville, Wireless list, rt2x00 users list
On Wednesday 30 December 2009, Gertjan van Wingerde wrote:
> The rt2800pci_wait_wpdma_ready and rt2800usb_wait_wpdma_ready functions are
> exactly the same, so unify them into rt200lib.
>
> Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 5/6] rt2x00: Fix LED configuration setting for rt2800.
2009-12-30 10:36 ` [PATCH 5/6] rt2x00: Fix LED configuration setting for rt2800 Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 6/6] rt2x00: Make rt2800_init_led static and don't export it Gertjan van Wingerde
@ 2009-12-30 20:42 ` Ivo van Doorn
1 sibling, 0 replies; 12+ messages in thread
From: Ivo van Doorn @ 2009-12-30 20:42 UTC (permalink / raw)
To: Gertjan van Wingerde; +Cc: John W. Linville, Wireless list, rt2x00 users list
On Wednesday 30 December 2009, Gertjan van Wingerde wrote:
> rt2800_blink_set uses an illegal value to set the LED_CFG_G_LED_MODE
> field of the LED_CFG register. This field is only 2 bits large, so
> should be initialized with value that fits. Use default value from
> the vendor driver.
>
> Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 6/6] rt2x00: Make rt2800_init_led static and don't export it.
2009-12-30 10:36 ` [PATCH 6/6] rt2x00: Make rt2800_init_led static and don't export it Gertjan van Wingerde
@ 2009-12-30 20:42 ` Ivo van Doorn
0 siblings, 0 replies; 12+ messages in thread
From: Ivo van Doorn @ 2009-12-30 20:42 UTC (permalink / raw)
To: Gertjan van Wingerde; +Cc: John W. Linville, Wireless list, rt2x00 users list
On Wednesday 30 December 2009, Gertjan van Wingerde wrote:
> It is only used within the rt2800lib module itself.
>
> Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2009-12-30 20:42 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-30 10:36 [PATCH 0/6] rt2x00 fixes and cleanups Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 1/6] rt2x00: use correct headroom for transmission Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 2/6] rt2x00: Properly request tx headroom for alignment operations Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 3/6] rt2x00: RF3052 is a valid RF chipset for USB devices as well Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 4/6] rt2x00: Unify rt2800 WPDMA ready waiting functions Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 5/6] rt2x00: Fix LED configuration setting for rt2800 Gertjan van Wingerde
2009-12-30 10:36 ` [PATCH 6/6] rt2x00: Make rt2800_init_led static and don't export it Gertjan van Wingerde
2009-12-30 20:42 ` Ivo van Doorn
2009-12-30 20:42 ` [PATCH 5/6] rt2x00: Fix LED configuration setting for rt2800 Ivo van Doorn
2009-12-30 20:42 ` [PATCH 4/6] rt2x00: Unify rt2800 WPDMA ready waiting functions Ivo van Doorn
2009-12-30 20:41 ` [PATCH 3/6] rt2x00: RF3052 is a valid RF chipset for USB devices as well Ivo van Doorn
2009-12-30 20:41 ` [PATCH 1/6] rt2x00: use correct headroom for transmission Ivo van Doorn
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).