static const struct ath6kl_hw hw_list[] = {
        {
                .id                             = AR6003_REV2_VERSION,
+               .name                           = "ar6003 hw 2.0",
                .dataset_patch_addr             = 0x57e884,
                .app_load_addr                  = 0x543180,
                .board_ext_data_addr            = 0x57e500,
        },
        {
                .id                             = AR6003_REV3_VERSION,
+               .name                           = "ar6003 hw 2.1.1",
                .dataset_patch_addr             = 0x57ff74,
                .app_load_addr                  = 0x1234,
                .board_ext_data_addr            = 0x542330,
        },
        {
                .id                             = AR6004_REV1_VERSION,
+               .name                           = "ar6004 hw 1.0",
                .dataset_patch_addr             = 0x57e884,
                .app_load_addr                  = 0x1234,
                .board_ext_data_addr            = 0x437000,
        },
        {
                .id                             = AR6004_REV2_VERSION,
+               .name                           = "ar6004 hw 1.1",
                .dataset_patch_addr             = 0x57e884,
                .app_load_addr                  = 0x1234,
                .board_ext_data_addr            = 0x437000,
        return 0;
 }
 
+static const char *ath6kl_init_get_hif_name(enum ath6kl_hif_type type)
+{
+       switch (type) {
+       case ATH6KL_HIF_TYPE_SDIO:
+               return "sdio";
+       case ATH6KL_HIF_TYPE_USB:
+               return "usb";
+       }
+
+       return NULL;
+}
+
 int ath6kl_init_hw_start(struct ath6kl *ar)
 {
        long timeleft;
 
        ath6kl_dbg(ATH6KL_DBG_BOOT, "firmware booted\n");
 
+
+       if (test_and_clear_bit(FIRST_BOOT, &ar->flag)) {
+               ath6kl_info("%s %s fw %s%s\n",
+                           ar->hw.name,
+                           ath6kl_init_get_hif_name(ar->hif_type),
+                           ar->wiphy->fw_version,
+                           test_bit(TESTMODE, &ar->flag) ? " testmode" : "");
+       }
+
        if (ar->version.abi_ver != ATH6KL_ABI_VERSION) {
                ath6kl_err("abi version mismatch: host(0x%x), target(0x%x)\n",
                           ATH6KL_ABI_VERSION, ar->version.abi_ver);
 
 
 /* WMI Event handlers */
 
-static const char *get_hw_id_string(u32 id)
-{
-       switch (id) {
-       case AR6003_REV1_VERSION:
-               return "1.0";
-       case AR6003_REV2_VERSION:
-               return "2.0";
-       case AR6003_REV3_VERSION:
-               return "2.1.1";
-       default:
-               return "unknown";
-       }
-}
-
 void ath6kl_ready_event(void *devt, u8 *datap, u32 sw_ver, u32 abi_ver)
 {
        struct ath6kl *ar = devt;
        /* indicate to the waiting thread that the ready event was received */
        set_bit(WMI_READY, &ar->flag);
        wake_up(&ar->event_wq);
-
-       if (test_and_clear_bit(FIRST_BOOT, &ar->flag)) {
-               ath6kl_info("hw %s fw %s%s\n",
-                           get_hw_id_string(ar->wiphy->hw_version),
-                           ar->wiphy->fw_version,
-                           test_bit(TESTMODE, &ar->flag) ? " testmode" : "");
-       }
 }
 
 void ath6kl_scan_complete_evt(struct ath6kl_vif *vif, int status)