diff options
author | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-02-28 18:42:48 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-02 06:10:23 -0500 |
commit | efa05d0f0a723642fd0d88bb97b0f31800a3f716 (patch) | |
tree | 58c0081b3861f40acaa5121c1a97dd8fe019658f /drivers | |
parent | 1039abbc5b1bfa943b6daabbe9de1499037a90c0 (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')
-rw-r--r-- | drivers/net/wimax/i2400m/control.c | 14 |
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 */ |
943 | enum { | 943 | enum { |
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); |
1025 | error_bad_major: | 1021 | error_bad_major: |
1026 | dev_info(dev, "firmware interface version %u.%u.%u\n", | 1022 | dev_info(dev, "firmware interface version %u.%u.%u\n", |