mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 06:03:36 -04:00
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
This commit is contained in:
commit
b618f6f885
155 changed files with 18876 additions and 4940 deletions
|
|
@ -1020,6 +1020,8 @@ enum nl80211_attrs {
|
|||
* @NL80211_IFTYPE_WDS: wireless distribution interface
|
||||
* @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames
|
||||
* @NL80211_IFTYPE_MESH_POINT: mesh point
|
||||
* @NL80211_IFTYPE_P2P_CLIENT: P2P client
|
||||
* @NL80211_IFTYPE_P2P_GO: P2P group owner
|
||||
* @NL80211_IFTYPE_MAX: highest interface type number currently defined
|
||||
* @NUM_NL80211_IFTYPES: number of defined interface types
|
||||
*
|
||||
|
|
@ -1036,6 +1038,8 @@ enum nl80211_iftype {
|
|||
NL80211_IFTYPE_WDS,
|
||||
NL80211_IFTYPE_MONITOR,
|
||||
NL80211_IFTYPE_MESH_POINT,
|
||||
NL80211_IFTYPE_P2P_CLIENT,
|
||||
NL80211_IFTYPE_P2P_GO,
|
||||
|
||||
/* keep last */
|
||||
NUM_NL80211_IFTYPES,
|
||||
|
|
|
|||
|
|
@ -21,14 +21,18 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_SPI_WL12XX_H
|
||||
#define _LINUX_SPI_WL12XX_H
|
||||
#ifndef _LINUX_WL12XX_H
|
||||
#define _LINUX_WL12XX_H
|
||||
|
||||
struct wl12xx_platform_data {
|
||||
void (*set_power)(bool enable);
|
||||
/* SDIO only: IRQ number if WLAN_IRQ line is used, 0 for SDIO IRQs */
|
||||
int irq;
|
||||
bool use_eeprom;
|
||||
int board_ref_clock;
|
||||
};
|
||||
|
||||
int wl12xx_set_platform_data(const struct wl12xx_platform_data *data);
|
||||
const struct wl12xx_platform_data *wl12xx_get_platform_data(void);
|
||||
|
||||
#endif
|
||||
|
|
@ -2558,49 +2558,36 @@ void cfg80211_cqm_rssi_notify(struct net_device *dev,
|
|||
/* wiphy_printk helpers, similar to dev_printk */
|
||||
|
||||
#define wiphy_printk(level, wiphy, format, args...) \
|
||||
printk(level "%s: " format, wiphy_name(wiphy), ##args)
|
||||
dev_printk(level, &(wiphy)->dev, format, ##args)
|
||||
#define wiphy_emerg(wiphy, format, args...) \
|
||||
wiphy_printk(KERN_EMERG, wiphy, format, ##args)
|
||||
dev_emerg(&(wiphy)->dev, format, ##args)
|
||||
#define wiphy_alert(wiphy, format, args...) \
|
||||
wiphy_printk(KERN_ALERT, wiphy, format, ##args)
|
||||
dev_alert(&(wiphy)->dev, format, ##args)
|
||||
#define wiphy_crit(wiphy, format, args...) \
|
||||
wiphy_printk(KERN_CRIT, wiphy, format, ##args)
|
||||
dev_crit(&(wiphy)->dev, format, ##args)
|
||||
#define wiphy_err(wiphy, format, args...) \
|
||||
wiphy_printk(KERN_ERR, wiphy, format, ##args)
|
||||
dev_err(&(wiphy)->dev, format, ##args)
|
||||
#define wiphy_warn(wiphy, format, args...) \
|
||||
wiphy_printk(KERN_WARNING, wiphy, format, ##args)
|
||||
dev_warn(&(wiphy)->dev, format, ##args)
|
||||
#define wiphy_notice(wiphy, format, args...) \
|
||||
wiphy_printk(KERN_NOTICE, wiphy, format, ##args)
|
||||
dev_notice(&(wiphy)->dev, format, ##args)
|
||||
#define wiphy_info(wiphy, format, args...) \
|
||||
wiphy_printk(KERN_INFO, wiphy, format, ##args)
|
||||
dev_info(&(wiphy)->dev, format, ##args)
|
||||
|
||||
int wiphy_debug(const struct wiphy *wiphy, const char *format, ...)
|
||||
__attribute__ ((format (printf, 2, 3)));
|
||||
|
||||
#if defined(DEBUG)
|
||||
#define wiphy_dbg(wiphy, format, args...) \
|
||||
#define wiphy_debug(wiphy, format, args...) \
|
||||
wiphy_printk(KERN_DEBUG, wiphy, format, ##args)
|
||||
#elif defined(CONFIG_DYNAMIC_DEBUG)
|
||||
|
||||
#define wiphy_dbg(wiphy, format, args...) \
|
||||
dynamic_pr_debug("%s: " format, wiphy_name(wiphy), ##args)
|
||||
#else
|
||||
#define wiphy_dbg(wiphy, format, args...) \
|
||||
({ \
|
||||
if (0) \
|
||||
wiphy_printk(KERN_DEBUG, wiphy, format, ##args); \
|
||||
0; \
|
||||
})
|
||||
#endif
|
||||
dev_dbg(&(wiphy)->dev, format, ##args)
|
||||
|
||||
#if defined(VERBOSE_DEBUG)
|
||||
#define wiphy_vdbg wiphy_dbg
|
||||
#else
|
||||
|
||||
#define wiphy_vdbg(wiphy, format, args...) \
|
||||
({ \
|
||||
if (0) \
|
||||
wiphy_printk(KERN_DEBUG, wiphy, format, ##args); \
|
||||
0; \
|
||||
0; \
|
||||
})
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -769,6 +769,8 @@ struct ieee80211_channel_switch {
|
|||
* @bss_conf: BSS configuration for this interface, either our own
|
||||
* or the BSS we're associated to
|
||||
* @addr: address of this interface
|
||||
* @p2p: indicates whether this AP or STA interface is a p2p
|
||||
* interface, i.e. a GO or p2p-sta respectively
|
||||
* @drv_priv: data area for driver use, will always be aligned to
|
||||
* sizeof(void *).
|
||||
*/
|
||||
|
|
@ -776,6 +778,7 @@ struct ieee80211_vif {
|
|||
enum nl80211_iftype type;
|
||||
struct ieee80211_bss_conf bss_conf;
|
||||
u8 addr[ETH_ALEN];
|
||||
bool p2p;
|
||||
/* must be last */
|
||||
u8 drv_priv[0] __attribute__((__aligned__(sizeof(void *))));
|
||||
};
|
||||
|
|
@ -1701,7 +1704,7 @@ struct ieee80211_ops {
|
|||
struct ieee80211_vif *vif);
|
||||
int (*change_interface)(struct ieee80211_hw *hw,
|
||||
struct ieee80211_vif *vif,
|
||||
enum nl80211_iftype new_type);
|
||||
enum nl80211_iftype new_type, bool p2p);
|
||||
void (*remove_interface)(struct ieee80211_hw *hw,
|
||||
struct ieee80211_vif *vif);
|
||||
int (*config)(struct ieee80211_hw *hw, u32 changed);
|
||||
|
|
@ -2293,6 +2296,7 @@ void ieee80211_scan_completed(struct ieee80211_hw *hw, bool aborted);
|
|||
* This function allows the iterator function to sleep, when the iterator
|
||||
* function is atomic @ieee80211_iterate_active_interfaces_atomic can
|
||||
* be used.
|
||||
* Does not iterate over a new interface during add_interface()
|
||||
*
|
||||
* @hw: the hardware struct of which the interfaces should be iterated over
|
||||
* @iterator: the iterator function to call
|
||||
|
|
@ -2310,6 +2314,7 @@ void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw,
|
|||
* hardware that are currently active and calls the callback for them.
|
||||
* This function requires the iterator callback function to be atomic,
|
||||
* if that is not desired, use @ieee80211_iterate_active_interfaces instead.
|
||||
* Does not iterate over a new interface during add_interface()
|
||||
*
|
||||
* @hw: the hardware struct of which the interfaces should be iterated over
|
||||
* @iterator: the iterator function to call, cannot sleep
|
||||
|
|
@ -2719,4 +2724,26 @@ conf_is_ht(struct ieee80211_conf *conf)
|
|||
return conf->channel_type != NL80211_CHAN_NO_HT;
|
||||
}
|
||||
|
||||
static inline enum nl80211_iftype
|
||||
ieee80211_iftype_p2p(enum nl80211_iftype type, bool p2p)
|
||||
{
|
||||
if (p2p) {
|
||||
switch (type) {
|
||||
case NL80211_IFTYPE_STATION:
|
||||
return NL80211_IFTYPE_P2P_CLIENT;
|
||||
case NL80211_IFTYPE_AP:
|
||||
return NL80211_IFTYPE_P2P_GO;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return type;
|
||||
}
|
||||
|
||||
static inline enum nl80211_iftype
|
||||
ieee80211_vif_type_p2p(struct ieee80211_vif *vif)
|
||||
{
|
||||
return ieee80211_iftype_p2p(vif->type, vif->p2p);
|
||||
}
|
||||
|
||||
#endif /* MAC80211_H */
|
||||
|
|
|
|||
Loading…
Reference in a new issue