diff options
author | John W. Linville <linville@tuxdriver.com> | 2012-12-07 13:03:50 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-12-07 13:03:50 -0500 |
commit | 8024dc191025d6b981563236df02da5c0db0854d (patch) | |
tree | f42cd84995c804c3590c56616527f5399155060b /include/linux | |
parent | fd3065b25b69ce345073bbd294a73343a608fd8b (diff) | |
parent | 9e2ff36beae4bedbad2a69d458f9404f35fcb528 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/bcm47xx_wdt.h | 19 | ||||
-rw-r--r-- | include/linux/bcma/bcma_driver_chipcommon.h | 7 | ||||
-rw-r--r-- | include/linux/ieee80211.h | 15 | ||||
-rw-r--r-- | include/linux/ssb/ssb.h | 2 | ||||
-rw-r--r-- | include/linux/ssb/ssb_driver_chipcommon.h | 5 | ||||
-rw-r--r-- | include/linux/ssb/ssb_driver_extif.h | 52 |
6 files changed, 92 insertions, 8 deletions
diff --git a/include/linux/bcm47xx_wdt.h b/include/linux/bcm47xx_wdt.h new file mode 100644 index 000000000000..e5dfc256485b --- /dev/null +++ b/include/linux/bcm47xx_wdt.h | |||
@@ -0,0 +1,19 @@ | |||
1 | #ifndef LINUX_BCM47XX_WDT_H_ | ||
2 | #define LINUX_BCM47XX_WDT_H_ | ||
3 | |||
4 | #include <linux/types.h> | ||
5 | |||
6 | |||
7 | struct bcm47xx_wdt { | ||
8 | u32 (*timer_set)(struct bcm47xx_wdt *, u32); | ||
9 | u32 (*timer_set_ms)(struct bcm47xx_wdt *, u32); | ||
10 | u32 max_timer_ms; | ||
11 | |||
12 | void *driver_data; | ||
13 | }; | ||
14 | |||
15 | static inline void *bcm47xx_wdt_get_drvdata(struct bcm47xx_wdt *wdt) | ||
16 | { | ||
17 | return wdt->driver_data; | ||
18 | } | ||
19 | #endif /* LINUX_BCM47XX_WDT_H_ */ | ||
diff --git a/include/linux/bcma/bcma_driver_chipcommon.h b/include/linux/bcma/bcma_driver_chipcommon.h index 145f3c56227f..e51359180b6f 100644 --- a/include/linux/bcma/bcma_driver_chipcommon.h +++ b/include/linux/bcma/bcma_driver_chipcommon.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef LINUX_BCMA_DRIVER_CC_H_ | 1 | #ifndef LINUX_BCMA_DRIVER_CC_H_ |
2 | #define LINUX_BCMA_DRIVER_CC_H_ | 2 | #define LINUX_BCMA_DRIVER_CC_H_ |
3 | 3 | ||
4 | #include <linux/platform_device.h> | ||
5 | |||
4 | /** ChipCommon core registers. **/ | 6 | /** ChipCommon core registers. **/ |
5 | #define BCMA_CC_ID 0x0000 | 7 | #define BCMA_CC_ID 0x0000 |
6 | #define BCMA_CC_ID_ID 0x0000FFFF | 8 | #define BCMA_CC_ID_ID 0x0000FFFF |
@@ -570,6 +572,8 @@ struct bcma_drv_cc { | |||
570 | int nr_serial_ports; | 572 | int nr_serial_ports; |
571 | struct bcma_serial_port serial_ports[4]; | 573 | struct bcma_serial_port serial_ports[4]; |
572 | #endif /* CONFIG_BCMA_DRIVER_MIPS */ | 574 | #endif /* CONFIG_BCMA_DRIVER_MIPS */ |
575 | u32 ticks_per_ms; | ||
576 | struct platform_device *watchdog; | ||
573 | }; | 577 | }; |
574 | 578 | ||
575 | /* Register access */ | 579 | /* Register access */ |
@@ -593,8 +597,7 @@ extern void bcma_chipco_resume(struct bcma_drv_cc *cc); | |||
593 | 597 | ||
594 | void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable); | 598 | void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable); |
595 | 599 | ||
596 | extern void bcma_chipco_watchdog_timer_set(struct bcma_drv_cc *cc, | 600 | extern u32 bcma_chipco_watchdog_timer_set(struct bcma_drv_cc *cc, u32 ticks); |
597 | u32 ticks); | ||
598 | 601 | ||
599 | void bcma_chipco_irq_mask(struct bcma_drv_cc *cc, u32 mask, u32 value); | 602 | void bcma_chipco_irq_mask(struct bcma_drv_cc *cc, u32 mask, u32 value); |
600 | 603 | ||
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index f9c5a787d350..8f690e53dd89 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -1213,6 +1213,21 @@ struct ieee80211_vht_cap { | |||
1213 | } __packed; | 1213 | } __packed; |
1214 | 1214 | ||
1215 | /** | 1215 | /** |
1216 | * enum ieee80211_vht_chanwidth - VHT channel width | ||
1217 | * @IEEE80211_VHT_CHANWIDTH_USE_HT: use the HT operation IE to | ||
1218 | * determine the channel width (20 or 40 MHz) | ||
1219 | * @IEEE80211_VHT_CHANWIDTH_80MHZ: 80 MHz bandwidth | ||
1220 | * @IEEE80211_VHT_CHANWIDTH_160MHZ: 160 MHz bandwidth | ||
1221 | * @IEEE80211_VHT_CHANWIDTH_80P80MHZ: 80+80 MHz bandwidth | ||
1222 | */ | ||
1223 | enum ieee80211_vht_chanwidth { | ||
1224 | IEEE80211_VHT_CHANWIDTH_USE_HT = 0, | ||
1225 | IEEE80211_VHT_CHANWIDTH_80MHZ = 1, | ||
1226 | IEEE80211_VHT_CHANWIDTH_160MHZ = 2, | ||
1227 | IEEE80211_VHT_CHANWIDTH_80P80MHZ = 3, | ||
1228 | }; | ||
1229 | |||
1230 | /** | ||
1216 | * struct ieee80211_vht_operation - VHT operation IE | 1231 | * struct ieee80211_vht_operation - VHT operation IE |
1217 | * | 1232 | * |
1218 | * This structure is the "VHT operation element" as | 1233 | * This structure is the "VHT operation element" as |
diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h index bb674c02f306..1f64e3f1f22b 100644 --- a/include/linux/ssb/ssb.h +++ b/include/linux/ssb/ssb.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <linux/pci.h> | 8 | #include <linux/pci.h> |
9 | #include <linux/mod_devicetable.h> | 9 | #include <linux/mod_devicetable.h> |
10 | #include <linux/dma-mapping.h> | 10 | #include <linux/dma-mapping.h> |
11 | #include <linux/platform_device.h> | ||
11 | 12 | ||
12 | #include <linux/ssb/ssb_regs.h> | 13 | #include <linux/ssb/ssb_regs.h> |
13 | 14 | ||
@@ -432,6 +433,7 @@ struct ssb_bus { | |||
432 | #ifdef CONFIG_SSB_EMBEDDED | 433 | #ifdef CONFIG_SSB_EMBEDDED |
433 | /* Lock for GPIO register access. */ | 434 | /* Lock for GPIO register access. */ |
434 | spinlock_t gpio_lock; | 435 | spinlock_t gpio_lock; |
436 | struct platform_device *watchdog; | ||
435 | #endif /* EMBEDDED */ | 437 | #endif /* EMBEDDED */ |
436 | 438 | ||
437 | /* Internal-only stuff follows. Do not touch. */ | 439 | /* Internal-only stuff follows. Do not touch. */ |
diff --git a/include/linux/ssb/ssb_driver_chipcommon.h b/include/linux/ssb/ssb_driver_chipcommon.h index c2b02a5c86ae..38339fd68a5f 100644 --- a/include/linux/ssb/ssb_driver_chipcommon.h +++ b/include/linux/ssb/ssb_driver_chipcommon.h | |||
@@ -591,6 +591,8 @@ struct ssb_chipcommon { | |||
591 | /* Fast Powerup Delay constant */ | 591 | /* Fast Powerup Delay constant */ |
592 | u16 fast_pwrup_delay; | 592 | u16 fast_pwrup_delay; |
593 | struct ssb_chipcommon_pmu pmu; | 593 | struct ssb_chipcommon_pmu pmu; |
594 | u32 ticks_per_ms; | ||
595 | u32 max_timer_ms; | ||
594 | }; | 596 | }; |
595 | 597 | ||
596 | static inline bool ssb_chipco_available(struct ssb_chipcommon *cc) | 598 | static inline bool ssb_chipco_available(struct ssb_chipcommon *cc) |
@@ -630,8 +632,7 @@ enum ssb_clkmode { | |||
630 | extern void ssb_chipco_set_clockmode(struct ssb_chipcommon *cc, | 632 | extern void ssb_chipco_set_clockmode(struct ssb_chipcommon *cc, |
631 | enum ssb_clkmode mode); | 633 | enum ssb_clkmode mode); |
632 | 634 | ||
633 | extern void ssb_chipco_watchdog_timer_set(struct ssb_chipcommon *cc, | 635 | extern u32 ssb_chipco_watchdog_timer_set(struct ssb_chipcommon *cc, u32 ticks); |
634 | u32 ticks); | ||
635 | 636 | ||
636 | void ssb_chipco_irq_mask(struct ssb_chipcommon *cc, u32 mask, u32 value); | 637 | void ssb_chipco_irq_mask(struct ssb_chipcommon *cc, u32 mask, u32 value); |
637 | 638 | ||
diff --git a/include/linux/ssb/ssb_driver_extif.h b/include/linux/ssb/ssb_driver_extif.h index 91161f0aa22b..99511d0e931d 100644 --- a/include/linux/ssb/ssb_driver_extif.h +++ b/include/linux/ssb/ssb_driver_extif.h | |||
@@ -152,6 +152,9 @@ | |||
152 | /* watchdog */ | 152 | /* watchdog */ |
153 | #define SSB_EXTIF_WATCHDOG_CLK 48000000 /* Hz */ | 153 | #define SSB_EXTIF_WATCHDOG_CLK 48000000 /* Hz */ |
154 | 154 | ||
155 | #define SSB_EXTIF_WATCHDOG_MAX_TIMER ((1 << 28) - 1) | ||
156 | #define SSB_EXTIF_WATCHDOG_MAX_TIMER_MS (SSB_EXTIF_WATCHDOG_MAX_TIMER \ | ||
157 | / (SSB_EXTIF_WATCHDOG_CLK / 1000)) | ||
155 | 158 | ||
156 | 159 | ||
157 | #ifdef CONFIG_SSB_DRIVER_EXTIF | 160 | #ifdef CONFIG_SSB_DRIVER_EXTIF |
@@ -171,8 +174,7 @@ extern void ssb_extif_get_clockcontrol(struct ssb_extif *extif, | |||
171 | extern void ssb_extif_timing_init(struct ssb_extif *extif, | 174 | extern void ssb_extif_timing_init(struct ssb_extif *extif, |
172 | unsigned long ns); | 175 | unsigned long ns); |
173 | 176 | ||
174 | extern void ssb_extif_watchdog_timer_set(struct ssb_extif *extif, | 177 | extern u32 ssb_extif_watchdog_timer_set(struct ssb_extif *extif, u32 ticks); |
175 | u32 ticks); | ||
176 | 178 | ||
177 | /* Extif GPIO pin access */ | 179 | /* Extif GPIO pin access */ |
178 | u32 ssb_extif_gpio_in(struct ssb_extif *extif, u32 mask); | 180 | u32 ssb_extif_gpio_in(struct ssb_extif *extif, u32 mask); |
@@ -205,10 +207,52 @@ void ssb_extif_get_clockcontrol(struct ssb_extif *extif, | |||
205 | } | 207 | } |
206 | 208 | ||
207 | static inline | 209 | static inline |
208 | void ssb_extif_watchdog_timer_set(struct ssb_extif *extif, | 210 | void ssb_extif_timing_init(struct ssb_extif *extif, unsigned long ns) |
209 | u32 ticks) | ||
210 | { | 211 | { |
211 | } | 212 | } |
212 | 213 | ||
214 | static inline | ||
215 | u32 ssb_extif_watchdog_timer_set(struct ssb_extif *extif, u32 ticks) | ||
216 | { | ||
217 | return 0; | ||
218 | } | ||
219 | |||
220 | static inline u32 ssb_extif_gpio_in(struct ssb_extif *extif, u32 mask) | ||
221 | { | ||
222 | return 0; | ||
223 | } | ||
224 | |||
225 | static inline u32 ssb_extif_gpio_out(struct ssb_extif *extif, u32 mask, | ||
226 | u32 value) | ||
227 | { | ||
228 | return 0; | ||
229 | } | ||
230 | |||
231 | static inline u32 ssb_extif_gpio_outen(struct ssb_extif *extif, u32 mask, | ||
232 | u32 value) | ||
233 | { | ||
234 | return 0; | ||
235 | } | ||
236 | |||
237 | static inline u32 ssb_extif_gpio_polarity(struct ssb_extif *extif, u32 mask, | ||
238 | u32 value) | ||
239 | { | ||
240 | return 0; | ||
241 | } | ||
242 | |||
243 | static inline u32 ssb_extif_gpio_intmask(struct ssb_extif *extif, u32 mask, | ||
244 | u32 value) | ||
245 | { | ||
246 | return 0; | ||
247 | } | ||
248 | |||
249 | #ifdef CONFIG_SSB_SERIAL | ||
250 | static inline int ssb_extif_serial_init(struct ssb_extif *extif, | ||
251 | struct ssb_serial_port *ports) | ||
252 | { | ||
253 | return 0; | ||
254 | } | ||
255 | #endif /* CONFIG_SSB_SERIAL */ | ||
256 | |||
213 | #endif /* CONFIG_SSB_DRIVER_EXTIF */ | 257 | #endif /* CONFIG_SSB_DRIVER_EXTIF */ |
214 | #endif /* LINUX_SSB_EXTIFCORE_H_ */ | 258 | #endif /* LINUX_SSB_EXTIFCORE_H_ */ |