aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-10-29 05:47:13 -0400
committerDavid S. Miller <davem@davemloft.net>2009-10-29 05:47:13 -0400
commited3f2e40f3d438f4a1ec0a898173116cb26f106a (patch)
treef50e1c5f5f3511539084d9529e592e3fb0352607 /include
parentfb699dfd426a189fe33b91586c15176a75c8aed0 (diff)
parentbd6b4442ff3cee73f73987cf0c0e66ea677aa075 (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.h20
-rw-r--r--include/net/cfg80211.h31
-rw-r--r--include/net/mac80211.h32
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 */
1819void cfg80211_send_deauth(struct net_device *dev, const u8 *buf, size_t len, 1817void 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 */
1827void __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 */
1834void cfg80211_send_disassoc(struct net_device *dev, const u8 *buf, size_t len, 1839void 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 */
1849void __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);
1691void ieee80211_rx_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb); 1691void 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 */
1705static 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