diff options
author | Luciano Coelho <coelho@ti.com> | 2011-04-01 21:48:02 +0400 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-04-19 17:49:22 +0400 |
commit | afb7d3cd805df7a206439a7e7b5d1167d2bb06f6 (patch) | |
tree | c3b4209db2fef5fa2e9e3d3392ba94a032d35bd5 /drivers | |
parent | 6277ed65704d19377b0874618e5f23d64c9e71a6 (diff) | |
download | linux-afb7d3cd805df7a206439a7e7b5d1167d2bb06f6.tar.xz |
wl12xx: move hardcoded hci_io_ds value into the conf struct
Instead of hardcoding the hci_io_ds configuration that we write to the
SDIO_IO_DS top registed, read it from the default configuration so
that it's easier to change for different platforms.
Reported-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/wl12xx/boot.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/boot.h | 11 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/conf.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/main.c | 1 |
4 files changed, 10 insertions, 5 deletions
diff --git a/drivers/net/wireless/wl12xx/boot.c b/drivers/net/wireless/wl12xx/boot.c index b5ec2c2b6f78..2b0cf85788b3 100644 --- a/drivers/net/wireless/wl12xx/boot.c +++ b/drivers/net/wireless/wl12xx/boot.c @@ -779,7 +779,7 @@ int wl1271_load_firmware(struct wl1271 *wl) * to upload_fw) */ if (wl->chip.id == CHIP_ID_1283_PG20) - wl1271_top_reg_write(wl, SDIO_IO_DS, HCI_IO_DS_6MA); + wl1271_top_reg_write(wl, SDIO_IO_DS, wl->conf.hci_io_ds); ret = wl1271_boot_upload_firmware(wl); if (ret < 0) diff --git a/drivers/net/wireless/wl12xx/boot.h b/drivers/net/wireless/wl12xx/boot.h index d9de64ac1442..e8f8255bbabe 100644 --- a/drivers/net/wireless/wl12xx/boot.h +++ b/drivers/net/wireless/wl12xx/boot.h @@ -117,10 +117,13 @@ struct wl1271_static_data { #define SDIO_IO_DS 0xd14 /* SDIO/wSPI DS configuration values */ -#define HCI_IO_DS_8MA 0 -#define HCI_IO_DS_4MA 1 /* default */ -#define HCI_IO_DS_6MA 2 -#define HCI_IO_DS_2MA 3 +enum { + HCI_IO_DS_8MA = 0, + HCI_IO_DS_4MA = 1, /* default */ + HCI_IO_DS_6MA = 2, + HCI_IO_DS_2MA = 3, +}; + /* end PLL configuration algorithm for wl128x */ #endif diff --git a/drivers/net/wireless/wl12xx/conf.h b/drivers/net/wireless/wl12xx/conf.h index 743bd0beb63b..52269d4d3623 100644 --- a/drivers/net/wireless/wl12xx/conf.h +++ b/drivers/net/wireless/wl12xx/conf.h @@ -1206,6 +1206,7 @@ struct conf_drv_settings { struct conf_ht_setting ht; struct conf_memory_settings mem_wl127x; struct conf_memory_settings mem_wl128x; + u8 hci_io_ds; }; #endif diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c index a5a5d0133023..732fd21beafb 100644 --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c @@ -319,6 +319,7 @@ static struct conf_drv_settings default_conf = { .min_req_rx_blocks = 22, .tx_min = 27, }, + .hci_io_ds = HCI_IO_DS_6MA, }; static void __wl1271_op_remove_interface(struct wl1271 *wl); |