From b8341d6bda8da225eebe03f9be9f78d30a8ad979 Mon Sep 17 00:00:00 2001 From: Luciano Coelho Date: Fri, 12 Jun 2009 14:15:27 +0300 Subject: [PATCH] --- yaml --- r: 158798 b: refs/heads/master c: 0d1c38398fa8cd478a229b4428fb511f813376e8 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/wl12xx/boot.c | 2 ++ trunk/drivers/net/wireless/wl12xx/wl1251.c | 9 ++++++--- trunk/drivers/net/wireless/wl12xx/wl12xx.h | 1 + 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 8a17a1ee0c3c..bcf5c259a761 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a336e266640cd9f7be96b14ff09bbb37dfa646de +refs/heads/master: 0d1c38398fa8cd478a229b4428fb511f813376e8 diff --git a/trunk/drivers/net/wireless/wl12xx/boot.c b/trunk/drivers/net/wireless/wl12xx/boot.c index 48ac08c429bd..a6a26497dc13 100644 --- a/trunk/drivers/net/wireless/wl12xx/boot.c +++ b/trunk/drivers/net/wireless/wl12xx/boot.c @@ -269,6 +269,8 @@ int wl12xx_boot_run_firmware(struct wl12xx *wl) wl12xx_debug(DEBUG_MAILBOX, "cmd_box_addr 0x%x event_box_addr 0x%x", wl->cmd_box_addr, wl->event_box_addr); + wl->chip.op_fw_version(wl); + /* * in case of full asynchronous mode the firmware event must be * ready to receive event from the command mailbox diff --git a/trunk/drivers/net/wireless/wl12xx/wl1251.c b/trunk/drivers/net/wireless/wl12xx/wl1251.c index e484a231e6e5..b793325d619e 100644 --- a/trunk/drivers/net/wireless/wl12xx/wl1251.c +++ b/trunk/drivers/net/wireless/wl12xx/wl1251.c @@ -288,9 +288,6 @@ static int wl1251_boot(struct wl12xx *wl) if (ret < 0) goto out; - /* Get and save the firmware version */ - wl12xx_acx_fw_version(wl, wl->chip.fw_ver, sizeof(wl->chip.fw_ver)); - out: return ret; } @@ -394,6 +391,11 @@ static void wl1251_target_enable_interrupts(struct wl12xx *wl) wl12xx_boot_target_enable_interrupts(wl); } +static void wl1251_fw_version(struct wl12xx *wl) +{ + wl12xx_acx_fw_version(wl, wl->chip.fw_ver, sizeof(wl->chip.fw_ver)); +} + static void wl1251_irq_work(struct work_struct *work) { u32 intr; @@ -709,6 +711,7 @@ void wl1251_setup(struct wl12xx *wl) wl->chip.op_target_enable_interrupts = wl1251_target_enable_interrupts; wl->chip.op_hw_init = wl1251_hw_init; wl->chip.op_plt_init = wl1251_plt_init; + wl->chip.op_fw_version = wl1251_fw_version; wl->chip.p_table = wl1251_part_table; wl->chip.acx_reg_table = wl1251_acx_reg_table; diff --git a/trunk/drivers/net/wireless/wl12xx/wl12xx.h b/trunk/drivers/net/wireless/wl12xx/wl12xx.h index b87421461a7d..32f62a699b2a 100644 --- a/trunk/drivers/net/wireless/wl12xx/wl12xx.h +++ b/trunk/drivers/net/wireless/wl12xx/wl12xx.h @@ -163,6 +163,7 @@ struct wl12xx_chip { void (*op_target_enable_interrupts)(struct wl12xx *wl); int (*op_hw_init)(struct wl12xx *wl); int (*op_plt_init)(struct wl12xx *wl); + void (*op_fw_version)(struct wl12xx *wl); struct wl12xx_partition_set *p_table; enum wl12xx_acx_int_reg *acx_reg_table;