diff options
author | David S. Miller <davem@davemloft.net> | 2009-10-29 05:47:13 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-29 05:47:13 -0400 |
commit | ed3f2e40f3d438f4a1ec0a898173116cb26f106a (patch) | |
tree | f50e1c5f5f3511539084d9529e592e3fb0352607 /include | |
parent | fb699dfd426a189fe33b91586c15176a75c8aed0 (diff) | |
parent | bd6b4442ff3cee73f73987cf0c0e66ea677aa075 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ssb/ssb.h | 20 | ||||
-rw-r--r-- | include/net/cfg80211.h | 31 | ||||
-rw-r--r-- | include/net/mac80211.h | 32 |
3 files changed, 61 insertions, 22 deletions
diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h index 3d0a9ff24f01..24f988547361 100644 --- a/include/linux/ssb/ssb.h +++ b/include/linux/ssb/ssb.h | |||
@@ -269,7 +269,8 @@ struct ssb_bus { | |||
269 | 269 | ||
270 | const struct ssb_bus_ops *ops; | 270 | const struct ssb_bus_ops *ops; |
271 | 271 | ||
272 | /* The core in the basic address register window. (PCI bus only) */ | 272 | /* The core currently mapped into the MMIO window. |
273 | * Not valid on all host-buses. So don't use outside of SSB. */ | ||
273 | struct ssb_device *mapped_device; | 274 | struct ssb_device *mapped_device; |
274 | union { | 275 | union { |
275 | /* Currently mapped PCMCIA segment. (bustype == SSB_BUSTYPE_PCMCIA only) */ | 276 | /* Currently mapped PCMCIA segment. (bustype == SSB_BUSTYPE_PCMCIA only) */ |
@@ -281,14 +282,17 @@ struct ssb_bus { | |||
281 | * On PCMCIA-host busses this is used to protect the whole MMIO access. */ | 282 | * On PCMCIA-host busses this is used to protect the whole MMIO access. */ |
282 | spinlock_t bar_lock; | 283 | spinlock_t bar_lock; |
283 | 284 | ||
284 | /* The bus this backplane is running on. */ | 285 | /* The host-bus this backplane is running on. */ |
285 | enum ssb_bustype bustype; | 286 | enum ssb_bustype bustype; |
286 | /* Pointer to the PCI bus (only valid if bustype == SSB_BUSTYPE_PCI). */ | 287 | /* Pointers to the host-bus. Check bustype before using any of these pointers. */ |
287 | struct pci_dev *host_pci; | 288 | union { |
288 | /* Pointer to the PCMCIA device (only if bustype == SSB_BUSTYPE_PCMCIA). */ | 289 | /* Pointer to the PCI bus (only valid if bustype == SSB_BUSTYPE_PCI). */ |
289 | struct pcmcia_device *host_pcmcia; | 290 | struct pci_dev *host_pci; |
290 | /* Pointer to the SDIO device (only if bustype == SSB_BUSTYPE_SDIO). */ | 291 | /* Pointer to the PCMCIA device (only if bustype == SSB_BUSTYPE_PCMCIA). */ |
291 | struct sdio_func *host_sdio; | 292 | struct pcmcia_device *host_pcmcia; |
293 | /* Pointer to the SDIO device (only if bustype == SSB_BUSTYPE_SDIO). */ | ||
294 | struct sdio_func *host_sdio; | ||
295 | }; | ||
292 | 296 | ||
293 | /* See enum ssb_quirks */ | 297 | /* See enum ssb_quirks */ |
294 | unsigned int quirks; | 298 | unsigned int quirks; |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 6f4862b3ec2c..ff67865de231 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1809,30 +1809,45 @@ void cfg80211_send_assoc_timeout(struct net_device *dev, const u8 *addr); | |||
1809 | * @dev: network device | 1809 | * @dev: network device |
1810 | * @buf: deauthentication frame (header + body) | 1810 | * @buf: deauthentication frame (header + body) |
1811 | * @len: length of the frame data | 1811 | * @len: length of the frame data |
1812 | * @cookie: cookie from ->deauth if called within that callback, | ||
1813 | * %NULL otherwise | ||
1814 | * | 1812 | * |
1815 | * This function is called whenever deauthentication has been processed in | 1813 | * This function is called whenever deauthentication has been processed in |
1816 | * station mode. This includes both received deauthentication frames and | 1814 | * station mode. This includes both received deauthentication frames and |
1817 | * locally generated ones. This function may sleep. | 1815 | * locally generated ones. This function may sleep. |
1818 | */ | 1816 | */ |
1819 | void cfg80211_send_deauth(struct net_device *dev, const u8 *buf, size_t len, | 1817 | void cfg80211_send_deauth(struct net_device *dev, const u8 *buf, size_t len); |
1820 | void *cookie); | 1818 | |
1819 | /** | ||
1820 | * __cfg80211_send_deauth - notification of processed deauthentication | ||
1821 | * @dev: network device | ||
1822 | * @buf: deauthentication frame (header + body) | ||
1823 | * @len: length of the frame data | ||
1824 | * | ||
1825 | * Like cfg80211_send_deauth(), but doesn't take the wdev lock. | ||
1826 | */ | ||
1827 | void __cfg80211_send_deauth(struct net_device *dev, const u8 *buf, size_t len); | ||
1821 | 1828 | ||
1822 | /** | 1829 | /** |
1823 | * cfg80211_send_disassoc - notification of processed disassociation | 1830 | * cfg80211_send_disassoc - notification of processed disassociation |
1824 | * @dev: network device | 1831 | * @dev: network device |
1825 | * @buf: disassociation response frame (header + body) | 1832 | * @buf: disassociation response frame (header + body) |
1826 | * @len: length of the frame data | 1833 | * @len: length of the frame data |
1827 | * @cookie: cookie from ->disassoc if called within that callback, | ||
1828 | * %NULL otherwise | ||
1829 | * | 1834 | * |
1830 | * This function is called whenever disassociation has been processed in | 1835 | * This function is called whenever disassociation has been processed in |
1831 | * station mode. This includes both received disassociation frames and locally | 1836 | * station mode. This includes both received disassociation frames and locally |
1832 | * generated ones. This function may sleep. | 1837 | * generated ones. This function may sleep. |
1833 | */ | 1838 | */ |
1834 | void cfg80211_send_disassoc(struct net_device *dev, const u8 *buf, size_t len, | 1839 | void cfg80211_send_disassoc(struct net_device *dev, const u8 *buf, size_t len); |
1835 | void *cookie); | 1840 | |
1841 | /** | ||
1842 | * __cfg80211_send_disassoc - notification of processed disassociation | ||
1843 | * @dev: network device | ||
1844 | * @buf: disassociation response frame (header + body) | ||
1845 | * @len: length of the frame data | ||
1846 | * | ||
1847 | * Like cfg80211_send_disassoc(), but doesn't take the wdev lock. | ||
1848 | */ | ||
1849 | void __cfg80211_send_disassoc(struct net_device *dev, const u8 *buf, | ||
1850 | size_t len); | ||
1836 | 1851 | ||
1837 | /** | 1852 | /** |
1838 | * cfg80211_michael_mic_failure - notification of Michael MIC failure (TKIP) | 1853 | * cfg80211_michael_mic_failure - notification of Michael MIC failure (TKIP) |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index c75b960c8ac8..c42c4a820b89 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1665,11 +1665,11 @@ void ieee80211_restart_hw(struct ieee80211_hw *hw); | |||
1665 | * header if %RX_FLAG_RADIOTAP is set in the @status flags. | 1665 | * header if %RX_FLAG_RADIOTAP is set in the @status flags. |
1666 | * | 1666 | * |
1667 | * This function may not be called in IRQ context. Calls to this function | 1667 | * This function may not be called in IRQ context. Calls to this function |
1668 | * for a single hardware must be synchronized against each other. Calls | 1668 | * for a single hardware must be synchronized against each other. Calls to |
1669 | * to this function and ieee80211_rx_irqsafe() may not be mixed for a | 1669 | * this function, ieee80211_rx_ni() and ieee80211_rx_irqsafe() may not be |
1670 | * single hardware. | 1670 | * mixed for a single hardware. |
1671 | * | 1671 | * |
1672 | * Note that right now, this function must be called with softirqs disabled. | 1672 | * In process context use instead ieee80211_rx_ni(). |
1673 | * | 1673 | * |
1674 | * @hw: the hardware this frame came in on | 1674 | * @hw: the hardware this frame came in on |
1675 | * @skb: the buffer to receive, owned by mac80211 after this call | 1675 | * @skb: the buffer to receive, owned by mac80211 after this call |
@@ -1682,8 +1682,8 @@ void ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb); | |||
1682 | * Like ieee80211_rx() but can be called in IRQ context | 1682 | * Like ieee80211_rx() but can be called in IRQ context |
1683 | * (internally defers to a tasklet.) | 1683 | * (internally defers to a tasklet.) |
1684 | * | 1684 | * |
1685 | * Calls to this function and ieee80211_rx() may not be mixed for a | 1685 | * Calls to this function, ieee80211_rx() or ieee80211_rx_ni() may not |
1686 | * single hardware. | 1686 | * be mixed for a single hardware. |
1687 | * | 1687 | * |
1688 | * @hw: the hardware this frame came in on | 1688 | * @hw: the hardware this frame came in on |
1689 | * @skb: the buffer to receive, owned by mac80211 after this call | 1689 | * @skb: the buffer to receive, owned by mac80211 after this call |
@@ -1691,6 +1691,26 @@ void ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb); | |||
1691 | void ieee80211_rx_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb); | 1691 | void ieee80211_rx_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb); |
1692 | 1692 | ||
1693 | /** | 1693 | /** |
1694 | * ieee80211_rx_ni - receive frame (in process context) | ||
1695 | * | ||
1696 | * Like ieee80211_rx() but can be called in process context | ||
1697 | * (internally disables bottom halves). | ||
1698 | * | ||
1699 | * Calls to this function, ieee80211_rx() and ieee80211_rx_irqsafe() may | ||
1700 | * not be mixed for a single hardware. | ||
1701 | * | ||
1702 | * @hw: the hardware this frame came in on | ||
1703 | * @skb: the buffer to receive, owned by mac80211 after this call | ||
1704 | */ | ||
1705 | static inline void ieee80211_rx_ni(struct ieee80211_hw *hw, | ||
1706 | struct sk_buff *skb) | ||
1707 | { | ||
1708 | local_bh_disable(); | ||
1709 | ieee80211_rx(hw, skb); | ||
1710 | local_bh_enable(); | ||
1711 | } | ||
1712 | |||
1713 | /** | ||
1694 | * ieee80211_tx_status - transmit status callback | 1714 | * ieee80211_tx_status - transmit status callback |
1695 | * | 1715 | * |
1696 | * Call this function for all transmitted frames after they have been | 1716 | * Call this function for all transmitted frames after they have been |