diff options
Diffstat (limited to 'drivers/net/wimax/i2400m/i2400m.h')
-rw-r--r-- | drivers/net/wimax/i2400m/i2400m.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/net/wimax/i2400m/i2400m.h b/drivers/net/wimax/i2400m/i2400m.h index 59cd78315498..1fe5da4cf0a0 100644 --- a/drivers/net/wimax/i2400m/i2400m.h +++ b/drivers/net/wimax/i2400m/i2400m.h | |||
@@ -156,6 +156,27 @@ enum { | |||
156 | I2400M_BM_ACK_BUF_SIZE = 256, | 156 | I2400M_BM_ACK_BUF_SIZE = 256, |
157 | }; | 157 | }; |
158 | 158 | ||
159 | /** | ||
160 | * struct i2400m_poke_table - Hardware poke table for the Intel 2400m | ||
161 | * | ||
162 | * This structure will be used to create a device specific poke table | ||
163 | * to put the device in a consistant state at boot time. | ||
164 | * | ||
165 | * @address: The device address to poke | ||
166 | * | ||
167 | * @data: The data value to poke to the device address | ||
168 | * | ||
169 | */ | ||
170 | struct i2400m_poke_table{ | ||
171 | __le32 address; | ||
172 | __le32 data; | ||
173 | }; | ||
174 | |||
175 | #define I2400M_FW_POKE(a, d) { \ | ||
176 | .address = cpu_to_le32(a), \ | ||
177 | .data = cpu_to_le32(d) \ | ||
178 | } | ||
179 | |||
159 | 180 | ||
160 | /** | 181 | /** |
161 | * i2400m_reset_type - methods to reset a device | 182 | * i2400m_reset_type - methods to reset a device |
@@ -264,6 +285,12 @@ struct i2400m_roq; | |||
264 | * address provided in boot mode is kind of broken and needs to | 285 | * address provided in boot mode is kind of broken and needs to |
265 | * be re-read later on. | 286 | * be re-read later on. |
266 | * | 287 | * |
288 | * @bus_bm_pokes_table: [fill/optional] A table of device addresses | ||
289 | * and values that will be poked at device init time to move the | ||
290 | * device to the correct state for the type of boot/firmware being | ||
291 | * used. This table MUST be terminated with (0x000000, | ||
292 | * 0x00000000) or bad things will happen. | ||
293 | * | ||
267 | * | 294 | * |
268 | * @wimax_dev: WiMAX generic device for linkage into the kernel WiMAX | 295 | * @wimax_dev: WiMAX generic device for linkage into the kernel WiMAX |
269 | * stack. Due to the way a net_device is allocated, we need to | 296 | * stack. Due to the way a net_device is allocated, we need to |
@@ -424,6 +451,7 @@ struct i2400m { | |||
424 | struct i2400m_bootrom_header *, size_t); | 451 | struct i2400m_bootrom_header *, size_t); |
425 | const char **bus_fw_names; | 452 | const char **bus_fw_names; |
426 | unsigned bus_bm_mac_addr_impaired:1; | 453 | unsigned bus_bm_mac_addr_impaired:1; |
454 | const struct i2400m_poke_table *bus_bm_pokes_table; | ||
427 | 455 | ||
428 | spinlock_t tx_lock; /* protect TX state */ | 456 | spinlock_t tx_lock; /* protect TX state */ |
429 | void *tx_buf; | 457 | void *tx_buf; |