netxen: fix firmware download warnings
Dhananjay Phadke [Tue, 17 Mar 2009 20:14:22 +0000 (13:14 -0700)]
Fix following warnings, by using integer firmware types.

drivers/net/netxen/netxen_nic_hw.c: In function 'netxen_load_firmware':
drivers/net/netxen/netxen_nic_hw.c:1146: warning: comparison with string literal results in unspecified behavior
drivers/net/netxen/netxen_nic_hw.c:1146: warning: comparison with string literal results in unspecified behavior
drivers/net/netxen/netxen_nic_hw.c:1146: warning: comparison with string literal results in unspecified behavior
drivers/net/netxen/netxen_nic_hw.c:1159: warning: comparison with string literal results in unspecified behavior
drivers/net/netxen/netxen_nic_hw.c:1159: warning: comparison with string literal results in unspecified behavior
drivers/net/netxen/netxen_nic_hw.c:1159: warning: comparison with string literal results in unspecified behavior

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/net/netxen/netxen_nic.h
drivers/net/netxen/netxen_nic_hw.c

index 2544129..78e6228 100644 (file)
@@ -693,9 +693,9 @@ typedef enum {
 #define NX_BIOS_VERSION_OFFSET (NETXEN_USER_START+0x83c)
 #define NX_FW_MAGIC_OFFSET     (NETXEN_BRDCFG_START+0x128)
 #define NX_FW_MIN_SIZE         (0x3fffff)
-#define NX_P2_MN_ROMIMAGE      "nxromimg.bin"
-#define NX_P3_CT_ROMIMAGE      "nx3fwct.bin"
-#define NX_P3_MN_ROMIMAGE      "nx3fwmn.bin"
+#define NX_P2_MN_ROMIMAGE      0
+#define NX_P3_CT_ROMIMAGE      1
+#define NX_P3_MN_ROMIMAGE      2
 
 #define NETXEN_USER_START_OLD NETXEN_PXE_START /* for backward compatibility */
 
index c89c791..b24cfdd 100644 (file)
@@ -1130,21 +1130,21 @@ netxen_validate_firmware(struct netxen_adapter *adapter, const char *fwname,
        return 0;
 }
 
+static char *fw_name[] = { "nxromimg.bin", "nx3fwct.bin", "nx3fwmn.bin" };
+
 int netxen_load_firmware(struct netxen_adapter *adapter)
 {
        u32 capability, flashed_ver;
        const struct firmware *fw;
-       char *fw_name = NULL;
+       int fw_type;
        struct pci_dev *pdev = adapter->pdev;
        int rc = 0;
 
        if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
-               fw_name = NX_P2_MN_ROMIMAGE;
+               fw_type = NX_P2_MN_ROMIMAGE;
                goto request_fw;
-       }
-
-       if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
-               fw_name = NX_P3_CT_ROMIMAGE;
+       } else {
+               fw_type = NX_P3_CT_ROMIMAGE;
                goto request_fw;
        }
 
@@ -1157,15 +1157,15 @@ request_mn:
                adapter->hw_read_wx(adapter,
                                NX_PEG_TUNE_CAPABILITY, &capability, 4);
                if (capability & NX_PEG_TUNE_MN_PRESENT) {
-                       fw_name = NX_P3_MN_ROMIMAGE;
+                       fw_type = NX_P3_MN_ROMIMAGE;
                        goto request_fw;
                }
        }
 
 request_fw:
-       rc = request_firmware(&fw, fw_name, &pdev->dev);
+       rc = request_firmware(&fw, fw_name[fw_type], &pdev->dev);
        if (rc != 0) {
-               if (fw_name == NX_P3_CT_ROMIMAGE) {
+               if (fw_type == NX_P3_CT_ROMIMAGE) {
                        msleep(1);
                        goto request_mn;
                }
@@ -1174,11 +1174,11 @@ request_fw:
                goto load_fw;
        }
 
-       rc = netxen_validate_firmware(adapter, fw_name, fw);
+       rc = netxen_validate_firmware(adapter, fw_name[fw_type], fw);
        if (rc != 0) {
                release_firmware(fw);
 
-               if (fw_name == NX_P3_CT_ROMIMAGE) {
+               if (fw_type == NX_P3_CT_ROMIMAGE) {
                        msleep(1);
                        goto request_mn;
                }
@@ -1187,7 +1187,7 @@ request_fw:
        }
 
 load_fw:
-       rc = netxen_do_load_firmware(adapter, fw_name, fw);
+       rc = netxen_do_load_firmware(adapter, fw_name[fw_type], fw);
 
        if (fw)
                release_firmware(fw);