aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wimax/i2400m/control.c
diff options
context:
space:
mode:
authorInaky Perez-Gonzalez <inaky@linux.intel.com>2009-02-28 18:42:48 -0500
committerDavid S. Miller <davem@davemloft.net>2009-03-02 06:10:23 -0500
commitefa05d0f0a723642fd0d88bb97b0f31800a3f716 (patch)
tree58c0081b3861f40acaa5121c1a97dd8fe019658f /drivers/net/wimax/i2400m/control.c
parent1039abbc5b1bfa943b6daabbe9de1499037a90c0 (diff)
wimax/i2400m: drop support for deprecated major fw interface, add for new minor
Firmware interface version 8.x.x has long been deprecated and is no longer supported (nor available, as it is a preproduction firmware), so it can be safely dropped. Add support for firmware interface v9.2.x (current is 9.1.x). Firmware version 9.2.x is backwards compatible with 9.1.x; new features are enabled if switches are pressed to turn them on. Forthcoming commits to the driver will start pressing those switches when the firmware interface supports it. Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wimax/i2400m/control.c')
-rw-r--r--drivers/net/wimax/i2400m/control.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/net/wimax/i2400m/control.c b/drivers/net/wimax/i2400m/control.c
index 15d9f51b292c..ac8fb6d07e61 100644
--- a/drivers/net/wimax/i2400m/control.c
+++ b/drivers/net/wimax/i2400m/control.c
@@ -942,8 +942,8 @@ error_cmd_failed:
942/* Firmware interface versions we support */ 942/* Firmware interface versions we support */
943enum { 943enum {
944 I2400M_HDIv_MAJOR = 9, 944 I2400M_HDIv_MAJOR = 9,
945 I2400M_HDIv_MAJOR_2 = 8,
946 I2400M_HDIv_MINOR = 1, 945 I2400M_HDIv_MINOR = 1,
946 I2400M_HDIv_MINOR_2 = 2,
947}; 947};
948 948
949 949
@@ -1009,18 +1009,14 @@ int i2400m_firmware_check(struct i2400m *i2400m)
1009 minor = le16_to_cpu(l4mv->minor); 1009 minor = le16_to_cpu(l4mv->minor);
1010 branch = le16_to_cpu(l4mv->branch); 1010 branch = le16_to_cpu(l4mv->branch);
1011 result = -EINVAL; 1011 result = -EINVAL;
1012 if (major != I2400M_HDIv_MAJOR 1012 if (major != I2400M_HDIv_MAJOR) {
1013 && major != I2400M_HDIv_MAJOR_2) { 1013 dev_err(dev, "unsupported major fw version "
1014 dev_err(dev, "unsupported major fw interface version "
1015 "%u.%u.%u\n", major, minor, branch); 1014 "%u.%u.%u\n", major, minor, branch);
1016 goto error_bad_major; 1015 goto error_bad_major;
1017 } 1016 }
1018 if (major == I2400M_HDIv_MAJOR_2)
1019 dev_err(dev, "deprecated major fw interface version "
1020 "%u.%u.%u\n", major, minor, branch);
1021 result = 0; 1017 result = 0;
1022 if (minor != I2400M_HDIv_MINOR) 1018 if (minor < I2400M_HDIv_MINOR_2 && minor > I2400M_HDIv_MINOR)
1023 dev_warn(dev, "untested minor fw firmware version %u.%u.%u\n", 1019 dev_warn(dev, "untested minor fw version %u.%u.%u\n",
1024 major, minor, branch); 1020 major, minor, branch);
1025error_bad_major: 1021error_bad_major:
1026 dev_info(dev, "firmware interface version %u.%u.%u\n", 1022 dev_info(dev, "firmware interface version %u.%u.%u\n",