aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/sdio.c
diff options
context:
space:
mode:
authorIdo Yariv <ido@wizery.com>2011-03-31 10:06:58 +0200
committerLuciano Coelho <coelho@ti.com>2011-04-19 16:49:18 +0300
commit0da13da767cd568c1fe2a7b5b936e86e521b5ae7 (patch)
tree7c629a516bb90567e60041b4273d4dd92395d0e8 /drivers/net/wireless/wl12xx/sdio.c
parentd29633b40e6afc6b4276a4e381bc532cc84be104 (diff)
downloadkernel_samsung_smdk4412-0da13da767cd568c1fe2a7b5b936e86e521b5ae7.zip
kernel_samsung_smdk4412-0da13da767cd568c1fe2a7b5b936e86e521b5ae7.tar.gz
kernel_samsung_smdk4412-0da13da767cd568c1fe2a7b5b936e86e521b5ae7.tar.bz2
wl12xx: Clean up the block size alignment code
Simplify and clean up the block size alignment code: 1. Set the block size according to the padding field type, as it cannot exceed the maximum value this field can hold. 2. Move the alignment code into a function instead of duplicating it in multiple places. 3. In the current implementation, the block_size member can be misleading because a zero value actually means that there's no need to align. Declare a block size alignment quirk instead. Signed-off-by: Ido Yariv <ido@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/sdio.c')
-rw-r--r--drivers/net/wireless/wl12xx/sdio.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/net/wireless/wl12xx/sdio.c b/drivers/net/wireless/wl12xx/sdio.c
index 2ade222..8246e9d 100644
--- a/drivers/net/wireless/wl12xx/sdio.c
+++ b/drivers/net/wireless/wl12xx/sdio.c
@@ -51,15 +51,10 @@ static const struct sdio_device_id wl1271_devices[] = {
};
MODULE_DEVICE_TABLE(sdio, wl1271_devices);
-/* The max SDIO block size is 256 when working with tx padding to SDIO block */
-#define TX_PAD_SDIO_BLK_SIZE 256
-
-static void wl1271_sdio_set_block_size(struct wl1271 *wl)
+static void wl1271_sdio_set_block_size(struct wl1271 *wl, unsigned int blksz)
{
- wl->block_size = TX_PAD_SDIO_BLK_SIZE;
-
sdio_claim_host(wl->if_priv);
- sdio_set_block_size(wl->if_priv, TX_PAD_SDIO_BLK_SIZE);
+ sdio_set_block_size(wl->if_priv, blksz);
sdio_release_host(wl->if_priv);
}
@@ -178,9 +173,6 @@ static int wl1271_sdio_power_on(struct wl1271 *wl)
sdio_claim_host(func);
sdio_enable_func(func);
- /* Set the default block size in case it was modified */
- sdio_set_block_size(func, 0);
-
out:
return ret;
}