aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2010-09-21 15:49:14 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-09-21 15:49:14 -0400
commitb618f6f885579a6237e5bf4582fa6167972ddef4 (patch)
treeb11508178570b98ce9cb2d76ecebd046a6f0e77c /include
parent462fb2af9788a82a534f8184abfde31574e1cfa0 (diff)
parent6e5c2b4e8addfaab8ef54dedaf7b607e1585c35b (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
Conflicts: arch/arm/mach-omap2/board-omap3pandora.c drivers/net/wireless/ath/ath5k/base.c
Diffstat (limited to 'include')
-rw-r--r--include/linux/nl80211.h4
-rw-r--r--include/linux/wl12xx.h (renamed from include/linux/spi/wl12xx.h)8
-rw-r--r--include/net/cfg80211.h37
-rw-r--r--include/net/mac80211.h29
4 files changed, 50 insertions, 28 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 31603e8b5581..f0518b0278a9 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -1020,6 +1020,8 @@ enum nl80211_attrs {
1020 * @NL80211_IFTYPE_WDS: wireless distribution interface 1020 * @NL80211_IFTYPE_WDS: wireless distribution interface
1021 * @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames 1021 * @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames
1022 * @NL80211_IFTYPE_MESH_POINT: mesh point 1022 * @NL80211_IFTYPE_MESH_POINT: mesh point
1023 * @NL80211_IFTYPE_P2P_CLIENT: P2P client
1024 * @NL80211_IFTYPE_P2P_GO: P2P group owner
1023 * @NL80211_IFTYPE_MAX: highest interface type number currently defined 1025 * @NL80211_IFTYPE_MAX: highest interface type number currently defined
1024 * @NUM_NL80211_IFTYPES: number of defined interface types 1026 * @NUM_NL80211_IFTYPES: number of defined interface types
1025 * 1027 *
@@ -1036,6 +1038,8 @@ enum nl80211_iftype {
1036 NL80211_IFTYPE_WDS, 1038 NL80211_IFTYPE_WDS,
1037 NL80211_IFTYPE_MONITOR, 1039 NL80211_IFTYPE_MONITOR,
1038 NL80211_IFTYPE_MESH_POINT, 1040 NL80211_IFTYPE_MESH_POINT,
1041 NL80211_IFTYPE_P2P_CLIENT,
1042 NL80211_IFTYPE_P2P_GO,
1039 1043
1040 /* keep last */ 1044 /* keep last */
1041 NUM_NL80211_IFTYPES, 1045 NUM_NL80211_IFTYPES,
diff --git a/include/linux/spi/wl12xx.h b/include/linux/wl12xx.h
index a20bccf0b5c2..95deae3968f4 100644
--- a/include/linux/spi/wl12xx.h
+++ b/include/linux/wl12xx.h
@@ -21,14 +21,18 @@
21 * 21 *
22 */ 22 */
23 23
24#ifndef _LINUX_SPI_WL12XX_H 24#ifndef _LINUX_WL12XX_H
25#define _LINUX_SPI_WL12XX_H 25#define _LINUX_WL12XX_H
26 26
27struct wl12xx_platform_data { 27struct wl12xx_platform_data {
28 void (*set_power)(bool enable); 28 void (*set_power)(bool enable);
29 /* SDIO only: IRQ number if WLAN_IRQ line is used, 0 for SDIO IRQs */ 29 /* SDIO only: IRQ number if WLAN_IRQ line is used, 0 for SDIO IRQs */
30 int irq; 30 int irq;
31 bool use_eeprom; 31 bool use_eeprom;
32 int board_ref_clock;
32}; 33};
33 34
35int wl12xx_set_platform_data(const struct wl12xx_platform_data *data);
36const struct wl12xx_platform_data *wl12xx_get_platform_data(void);
37
34#endif 38#endif
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 4c8c727d0cca..a0613ff62c97 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -2558,49 +2558,36 @@ void cfg80211_cqm_rssi_notify(struct net_device *dev,
2558/* wiphy_printk helpers, similar to dev_printk */ 2558/* wiphy_printk helpers, similar to dev_printk */
2559 2559
2560#define wiphy_printk(level, wiphy, format, args...) \ 2560#define wiphy_printk(level, wiphy, format, args...) \
2561 printk(level "%s: " format, wiphy_name(wiphy), ##args) 2561 dev_printk(level, &(wiphy)->dev, format, ##args)
2562#define wiphy_emerg(wiphy, format, args...) \ 2562#define wiphy_emerg(wiphy, format, args...) \
2563 wiphy_printk(KERN_EMERG, wiphy, format, ##args) 2563 dev_emerg(&(wiphy)->dev, format, ##args)
2564#define wiphy_alert(wiphy, format, args...) \ 2564#define wiphy_alert(wiphy, format, args...) \
2565 wiphy_printk(KERN_ALERT, wiphy, format, ##args) 2565 dev_alert(&(wiphy)->dev, format, ##args)
2566#define wiphy_crit(wiphy, format, args...) \ 2566#define wiphy_crit(wiphy, format, args...) \
2567 wiphy_printk(KERN_CRIT, wiphy, format, ##args) 2567 dev_crit(&(wiphy)->dev, format, ##args)
2568#define wiphy_err(wiphy, format, args...) \ 2568#define wiphy_err(wiphy, format, args...) \
2569 wiphy_printk(KERN_ERR, wiphy, format, ##args) 2569 dev_err(&(wiphy)->dev, format, ##args)
2570#define wiphy_warn(wiphy, format, args...) \ 2570#define wiphy_warn(wiphy, format, args...) \
2571 wiphy_printk(KERN_WARNING, wiphy, format, ##args) 2571 dev_warn(&(wiphy)->dev, format, ##args)
2572#define wiphy_notice(wiphy, format, args...) \ 2572#define wiphy_notice(wiphy, format, args...) \
2573 wiphy_printk(KERN_NOTICE, wiphy, format, ##args) 2573 dev_notice(&(wiphy)->dev, format, ##args)
2574#define wiphy_info(wiphy, format, args...) \ 2574#define wiphy_info(wiphy, format, args...) \
2575 wiphy_printk(KERN_INFO, wiphy, format, ##args) 2575 dev_info(&(wiphy)->dev, format, ##args)
2576 2576
2577int wiphy_debug(const struct wiphy *wiphy, const char *format, ...) 2577#define wiphy_debug(wiphy, format, args...) \
2578 __attribute__ ((format (printf, 2, 3)));
2579
2580#if defined(DEBUG)
2581#define wiphy_dbg(wiphy, format, args...) \
2582 wiphy_printk(KERN_DEBUG, wiphy, format, ##args) 2578 wiphy_printk(KERN_DEBUG, wiphy, format, ##args)
2583#elif defined(CONFIG_DYNAMIC_DEBUG) 2579
2584#define wiphy_dbg(wiphy, format, args...) \ 2580#define wiphy_dbg(wiphy, format, args...) \
2585 dynamic_pr_debug("%s: " format, wiphy_name(wiphy), ##args) 2581 dev_dbg(&(wiphy)->dev, format, ##args)
2586#else
2587#define wiphy_dbg(wiphy, format, args...) \
2588({ \
2589 if (0) \
2590 wiphy_printk(KERN_DEBUG, wiphy, format, ##args); \
2591 0; \
2592})
2593#endif
2594 2582
2595#if defined(VERBOSE_DEBUG) 2583#if defined(VERBOSE_DEBUG)
2596#define wiphy_vdbg wiphy_dbg 2584#define wiphy_vdbg wiphy_dbg
2597#else 2585#else
2598
2599#define wiphy_vdbg(wiphy, format, args...) \ 2586#define wiphy_vdbg(wiphy, format, args...) \
2600({ \ 2587({ \
2601 if (0) \ 2588 if (0) \
2602 wiphy_printk(KERN_DEBUG, wiphy, format, ##args); \ 2589 wiphy_printk(KERN_DEBUG, wiphy, format, ##args); \
2603 0; \ 2590 0; \
2604}) 2591})
2605#endif 2592#endif
2606 2593
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index f91fc331369b..12a49f0ba32c 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -769,6 +769,8 @@ struct ieee80211_channel_switch {
769 * @bss_conf: BSS configuration for this interface, either our own 769 * @bss_conf: BSS configuration for this interface, either our own
770 * or the BSS we're associated to 770 * or the BSS we're associated to
771 * @addr: address of this interface 771 * @addr: address of this interface
772 * @p2p: indicates whether this AP or STA interface is a p2p
773 * interface, i.e. a GO or p2p-sta respectively
772 * @drv_priv: data area for driver use, will always be aligned to 774 * @drv_priv: data area for driver use, will always be aligned to
773 * sizeof(void *). 775 * sizeof(void *).
774 */ 776 */
@@ -776,6 +778,7 @@ struct ieee80211_vif {
776 enum nl80211_iftype type; 778 enum nl80211_iftype type;
777 struct ieee80211_bss_conf bss_conf; 779 struct ieee80211_bss_conf bss_conf;
778 u8 addr[ETH_ALEN]; 780 u8 addr[ETH_ALEN];
781 bool p2p;
779 /* must be last */ 782 /* must be last */
780 u8 drv_priv[0] __attribute__((__aligned__(sizeof(void *)))); 783 u8 drv_priv[0] __attribute__((__aligned__(sizeof(void *))));
781}; 784};
@@ -1701,7 +1704,7 @@ struct ieee80211_ops {
1701 struct ieee80211_vif *vif); 1704 struct ieee80211_vif *vif);
1702 int (*change_interface)(struct ieee80211_hw *hw, 1705 int (*change_interface)(struct ieee80211_hw *hw,
1703 struct ieee80211_vif *vif, 1706 struct ieee80211_vif *vif,
1704 enum nl80211_iftype new_type); 1707 enum nl80211_iftype new_type, bool p2p);
1705 void (*remove_interface)(struct ieee80211_hw *hw, 1708 void (*remove_interface)(struct ieee80211_hw *hw,
1706 struct ieee80211_vif *vif); 1709 struct ieee80211_vif *vif);
1707 int (*config)(struct ieee80211_hw *hw, u32 changed); 1710 int (*config)(struct ieee80211_hw *hw, u32 changed);
@@ -2293,6 +2296,7 @@ void ieee80211_scan_completed(struct ieee80211_hw *hw, bool aborted);
2293 * This function allows the iterator function to sleep, when the iterator 2296 * This function allows the iterator function to sleep, when the iterator
2294 * function is atomic @ieee80211_iterate_active_interfaces_atomic can 2297 * function is atomic @ieee80211_iterate_active_interfaces_atomic can
2295 * be used. 2298 * be used.
2299 * Does not iterate over a new interface during add_interface()
2296 * 2300 *
2297 * @hw: the hardware struct of which the interfaces should be iterated over 2301 * @hw: the hardware struct of which the interfaces should be iterated over
2298 * @iterator: the iterator function to call 2302 * @iterator: the iterator function to call
@@ -2310,6 +2314,7 @@ void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw,
2310 * hardware that are currently active and calls the callback for them. 2314 * hardware that are currently active and calls the callback for them.
2311 * This function requires the iterator callback function to be atomic, 2315 * This function requires the iterator callback function to be atomic,
2312 * if that is not desired, use @ieee80211_iterate_active_interfaces instead. 2316 * if that is not desired, use @ieee80211_iterate_active_interfaces instead.
2317 * Does not iterate over a new interface during add_interface()
2313 * 2318 *
2314 * @hw: the hardware struct of which the interfaces should be iterated over 2319 * @hw: the hardware struct of which the interfaces should be iterated over
2315 * @iterator: the iterator function to call, cannot sleep 2320 * @iterator: the iterator function to call, cannot sleep
@@ -2719,4 +2724,26 @@ conf_is_ht(struct ieee80211_conf *conf)
2719 return conf->channel_type != NL80211_CHAN_NO_HT; 2724 return conf->channel_type != NL80211_CHAN_NO_HT;
2720} 2725}
2721 2726
2727static inline enum nl80211_iftype
2728ieee80211_iftype_p2p(enum nl80211_iftype type, bool p2p)
2729{
2730 if (p2p) {
2731 switch (type) {
2732 case NL80211_IFTYPE_STATION:
2733 return NL80211_IFTYPE_P2P_CLIENT;
2734 case NL80211_IFTYPE_AP:
2735 return NL80211_IFTYPE_P2P_GO;
2736 default:
2737 break;
2738 }
2739 }
2740 return type;
2741}
2742
2743static inline enum nl80211_iftype
2744ieee80211_vif_type_p2p(struct ieee80211_vif *vif)
2745{
2746 return ieee80211_iftype_p2p(vif->type, vif->p2p);
2747}
2748
2722#endif /* MAC80211_H */ 2749#endif /* MAC80211_H */