diff options
| author | David S. Miller <davem@davemloft.net> | 2009-06-07 07:24:21 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-06-07 07:24:21 -0400 |
| commit | b1bc81a0ef86b86fa410dd303d84c8c7bd09a64d (patch) | |
| tree | a0d2e6dd179e5d057776edd0ed865bc744dfa54d /include/net | |
| parent | a93958ac980f0ce594ad90657ecbc595ff157a40 (diff) | |
| parent | 0c0c9e7076b69f93678e4ec711e2bf237398e623 (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/cfg80211.h | 51 | ||||
| -rw-r--r-- | include/net/mac80211.h | 26 | ||||
| -rw-r--r-- | include/net/wimax.h | 8 |
3 files changed, 68 insertions, 17 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index f20da7d63b1e..1a21895b732b 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
| @@ -752,6 +752,19 @@ enum wiphy_params_flags { | |||
| 752 | }; | 752 | }; |
| 753 | 753 | ||
| 754 | /** | 754 | /** |
| 755 | * enum tx_power_setting - TX power adjustment | ||
| 756 | * | ||
| 757 | * @TX_POWER_AUTOMATIC: the dbm parameter is ignored | ||
| 758 | * @TX_POWER_LIMITED: limit TX power by the dbm parameter | ||
| 759 | * @TX_POWER_FIXED: fix TX power to the dbm parameter | ||
| 760 | */ | ||
| 761 | enum tx_power_setting { | ||
| 762 | TX_POWER_AUTOMATIC, | ||
| 763 | TX_POWER_LIMITED, | ||
| 764 | TX_POWER_FIXED, | ||
| 765 | }; | ||
| 766 | |||
| 767 | /** | ||
| 755 | * struct cfg80211_ops - backend description for wireless configuration | 768 | * struct cfg80211_ops - backend description for wireless configuration |
| 756 | * | 769 | * |
| 757 | * This struct is registered by fullmac card drivers and/or wireless stacks | 770 | * This struct is registered by fullmac card drivers and/or wireless stacks |
| @@ -837,6 +850,13 @@ enum wiphy_params_flags { | |||
| 837 | * @changed bitfield (see &enum wiphy_params_flags) describes which values | 850 | * @changed bitfield (see &enum wiphy_params_flags) describes which values |
| 838 | * have changed. The actual parameter values are available in | 851 | * have changed. The actual parameter values are available in |
| 839 | * struct wiphy. If returning an error, no value should be changed. | 852 | * struct wiphy. If returning an error, no value should be changed. |
| 853 | * | ||
| 854 | * @set_tx_power: set the transmit power according to the parameters | ||
| 855 | * @get_tx_power: store the current TX power into the dbm variable; | ||
| 856 | * return 0 if successful | ||
| 857 | * | ||
| 858 | * @rfkill_poll: polls the hw rfkill line, use cfg80211 reporting | ||
| 859 | * functions to adjust rfkill hw state | ||
| 840 | */ | 860 | */ |
| 841 | struct cfg80211_ops { | 861 | struct cfg80211_ops { |
| 842 | int (*suspend)(struct wiphy *wiphy); | 862 | int (*suspend)(struct wiphy *wiphy); |
| @@ -928,6 +948,12 @@ struct cfg80211_ops { | |||
| 928 | int (*leave_ibss)(struct wiphy *wiphy, struct net_device *dev); | 948 | int (*leave_ibss)(struct wiphy *wiphy, struct net_device *dev); |
| 929 | 949 | ||
| 930 | int (*set_wiphy_params)(struct wiphy *wiphy, u32 changed); | 950 | int (*set_wiphy_params)(struct wiphy *wiphy, u32 changed); |
| 951 | |||
| 952 | int (*set_tx_power)(struct wiphy *wiphy, | ||
| 953 | enum tx_power_setting type, int dbm); | ||
| 954 | int (*get_tx_power)(struct wiphy *wiphy, int *dbm); | ||
| 955 | |||
| 956 | void (*rfkill_poll)(struct wiphy *wiphy); | ||
| 931 | }; | 957 | }; |
| 932 | 958 | ||
| 933 | /* | 959 | /* |
| @@ -1451,6 +1477,12 @@ int cfg80211_wext_siwencode(struct net_device *dev, | |||
| 1451 | int cfg80211_wext_giwencode(struct net_device *dev, | 1477 | int cfg80211_wext_giwencode(struct net_device *dev, |
| 1452 | struct iw_request_info *info, | 1478 | struct iw_request_info *info, |
| 1453 | struct iw_point *erq, char *keybuf); | 1479 | struct iw_point *erq, char *keybuf); |
| 1480 | int cfg80211_wext_siwtxpower(struct net_device *dev, | ||
| 1481 | struct iw_request_info *info, | ||
| 1482 | union iwreq_data *data, char *keybuf); | ||
| 1483 | int cfg80211_wext_giwtxpower(struct net_device *dev, | ||
| 1484 | struct iw_request_info *info, | ||
| 1485 | union iwreq_data *data, char *keybuf); | ||
| 1454 | 1486 | ||
| 1455 | /* | 1487 | /* |
| 1456 | * callbacks for asynchronous cfg80211 methods, notification | 1488 | * callbacks for asynchronous cfg80211 methods, notification |
| @@ -1636,4 +1668,23 @@ void cfg80211_michael_mic_failure(struct net_device *dev, const u8 *addr, | |||
| 1636 | */ | 1668 | */ |
| 1637 | void cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid, gfp_t gfp); | 1669 | void cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid, gfp_t gfp); |
| 1638 | 1670 | ||
| 1671 | /** | ||
| 1672 | * wiphy_rfkill_set_hw_state - notify cfg80211 about hw block state | ||
| 1673 | * @wiphy: the wiphy | ||
| 1674 | * @blocked: block status | ||
| 1675 | */ | ||
| 1676 | void wiphy_rfkill_set_hw_state(struct wiphy *wiphy, bool blocked); | ||
| 1677 | |||
| 1678 | /** | ||
| 1679 | * wiphy_rfkill_start_polling - start polling rfkill | ||
| 1680 | * @wiphy: the wiphy | ||
| 1681 | */ | ||
| 1682 | void wiphy_rfkill_start_polling(struct wiphy *wiphy); | ||
| 1683 | |||
| 1684 | /** | ||
| 1685 | * wiphy_rfkill_stop_polling - stop polling rfkill | ||
| 1686 | * @wiphy: the wiphy | ||
| 1687 | */ | ||
| 1688 | void wiphy_rfkill_stop_polling(struct wiphy *wiphy); | ||
| 1689 | |||
| 1639 | #endif /* __NET_CFG80211_H */ | 1690 | #endif /* __NET_CFG80211_H */ |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index d72346ff3247..17d61d19d912 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
| @@ -526,8 +526,7 @@ enum ieee80211_conf_flags { | |||
| 526 | /** | 526 | /** |
| 527 | * enum ieee80211_conf_changed - denotes which configuration changed | 527 | * enum ieee80211_conf_changed - denotes which configuration changed |
| 528 | * | 528 | * |
| 529 | * @IEEE80211_CONF_CHANGE_RADIO_ENABLED: the value of radio_enabled changed | 529 | * @_IEEE80211_CONF_CHANGE_RADIO_ENABLED: DEPRECATED |
| 530 | * @_IEEE80211_CONF_CHANGE_BEACON_INTERVAL: DEPRECATED | ||
| 531 | * @IEEE80211_CONF_CHANGE_LISTEN_INTERVAL: the listen interval changed | 530 | * @IEEE80211_CONF_CHANGE_LISTEN_INTERVAL: the listen interval changed |
| 532 | * @IEEE80211_CONF_CHANGE_RADIOTAP: the radiotap flag changed | 531 | * @IEEE80211_CONF_CHANGE_RADIOTAP: the radiotap flag changed |
| 533 | * @IEEE80211_CONF_CHANGE_PS: the PS flag or dynamic PS timeout changed | 532 | * @IEEE80211_CONF_CHANGE_PS: the PS flag or dynamic PS timeout changed |
| @@ -537,8 +536,7 @@ enum ieee80211_conf_flags { | |||
| 537 | * @IEEE80211_CONF_CHANGE_IDLE: Idle flag changed | 536 | * @IEEE80211_CONF_CHANGE_IDLE: Idle flag changed |
| 538 | */ | 537 | */ |
| 539 | enum ieee80211_conf_changed { | 538 | enum ieee80211_conf_changed { |
| 540 | IEEE80211_CONF_CHANGE_RADIO_ENABLED = BIT(0), | 539 | _IEEE80211_CONF_CHANGE_RADIO_ENABLED = BIT(0), |
| 541 | _IEEE80211_CONF_CHANGE_BEACON_INTERVAL = BIT(1), | ||
| 542 | IEEE80211_CONF_CHANGE_LISTEN_INTERVAL = BIT(2), | 540 | IEEE80211_CONF_CHANGE_LISTEN_INTERVAL = BIT(2), |
| 543 | IEEE80211_CONF_CHANGE_RADIOTAP = BIT(3), | 541 | IEEE80211_CONF_CHANGE_RADIOTAP = BIT(3), |
| 544 | IEEE80211_CONF_CHANGE_PS = BIT(4), | 542 | IEEE80211_CONF_CHANGE_PS = BIT(4), |
| @@ -549,12 +547,12 @@ enum ieee80211_conf_changed { | |||
| 549 | }; | 547 | }; |
| 550 | 548 | ||
| 551 | static inline __deprecated enum ieee80211_conf_changed | 549 | static inline __deprecated enum ieee80211_conf_changed |
| 552 | __IEEE80211_CONF_CHANGE_BEACON_INTERVAL(void) | 550 | __IEEE80211_CONF_CHANGE_RADIO_ENABLED(void) |
| 553 | { | 551 | { |
| 554 | return _IEEE80211_CONF_CHANGE_BEACON_INTERVAL; | 552 | return _IEEE80211_CONF_CHANGE_RADIO_ENABLED; |
| 555 | } | 553 | } |
| 556 | #define IEEE80211_CONF_CHANGE_BEACON_INTERVAL \ | 554 | #define IEEE80211_CONF_CHANGE_RADIO_ENABLED \ |
| 557 | __IEEE80211_CONF_CHANGE_BEACON_INTERVAL() | 555 | __IEEE80211_CONF_CHANGE_RADIO_ENABLED() |
| 558 | 556 | ||
| 559 | /** | 557 | /** |
| 560 | * struct ieee80211_conf - configuration of the device | 558 | * struct ieee80211_conf - configuration of the device |
| @@ -564,7 +562,7 @@ __IEEE80211_CONF_CHANGE_BEACON_INTERVAL(void) | |||
| 564 | * @flags: configuration flags defined above | 562 | * @flags: configuration flags defined above |
| 565 | * | 563 | * |
| 566 | * @radio_enabled: when zero, driver is required to switch off the radio. | 564 | * @radio_enabled: when zero, driver is required to switch off the radio. |
| 567 | * @beacon_int: beacon interval (TODO make interface config) | 565 | * @beacon_int: DEPRECATED, DO NOT USE |
| 568 | * | 566 | * |
| 569 | * @listen_interval: listen interval in units of beacon interval | 567 | * @listen_interval: listen interval in units of beacon interval |
| 570 | * @max_sleep_period: the maximum number of beacon intervals to sleep for | 568 | * @max_sleep_period: the maximum number of beacon intervals to sleep for |
| @@ -589,13 +587,13 @@ __IEEE80211_CONF_CHANGE_BEACON_INTERVAL(void) | |||
| 589 | * number of transmissions not the number of retries | 587 | * number of transmissions not the number of retries |
| 590 | */ | 588 | */ |
| 591 | struct ieee80211_conf { | 589 | struct ieee80211_conf { |
| 592 | int beacon_int; | 590 | int __deprecated beacon_int; |
| 593 | u32 flags; | 591 | u32 flags; |
| 594 | int power_level, dynamic_ps_timeout; | 592 | int power_level, dynamic_ps_timeout; |
| 595 | int max_sleep_period; | 593 | int max_sleep_period; |
| 596 | 594 | ||
| 597 | u16 listen_interval; | 595 | u16 listen_interval; |
| 598 | bool radio_enabled; | 596 | bool __deprecated radio_enabled; |
| 599 | 597 | ||
| 600 | u8 long_frame_max_tx_count, short_frame_max_tx_count; | 598 | u8 long_frame_max_tx_count, short_frame_max_tx_count; |
| 601 | 599 | ||
| @@ -1406,6 +1404,10 @@ enum ieee80211_ampdu_mlme_action { | |||
| 1406 | * is the first frame we expect to perform the action on. Notice | 1404 | * is the first frame we expect to perform the action on. Notice |
| 1407 | * that TX/RX_STOP can pass NULL for this parameter. | 1405 | * that TX/RX_STOP can pass NULL for this parameter. |
| 1408 | * Returns a negative error code on failure. | 1406 | * Returns a negative error code on failure. |
| 1407 | * | ||
| 1408 | * @rfkill_poll: Poll rfkill hardware state. If you need this, you also | ||
| 1409 | * need to set wiphy->rfkill_poll to %true before registration, | ||
| 1410 | * and need to call wiphy_rfkill_set_hw_state() in the callback. | ||
| 1409 | */ | 1411 | */ |
| 1410 | struct ieee80211_ops { | 1412 | struct ieee80211_ops { |
| 1411 | int (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); | 1413 | int (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); |
| @@ -1454,6 +1456,8 @@ struct ieee80211_ops { | |||
| 1454 | int (*ampdu_action)(struct ieee80211_hw *hw, | 1456 | int (*ampdu_action)(struct ieee80211_hw *hw, |
| 1455 | enum ieee80211_ampdu_mlme_action action, | 1457 | enum ieee80211_ampdu_mlme_action action, |
| 1456 | struct ieee80211_sta *sta, u16 tid, u16 *ssn); | 1458 | struct ieee80211_sta *sta, u16 tid, u16 *ssn); |
| 1459 | |||
| 1460 | void (*rfkill_poll)(struct ieee80211_hw *hw); | ||
| 1457 | }; | 1461 | }; |
| 1458 | 1462 | ||
| 1459 | /** | 1463 | /** |
diff --git a/include/net/wimax.h b/include/net/wimax.h index 6b3824edb39e..2af7bf839f23 100644 --- a/include/net/wimax.h +++ b/include/net/wimax.h | |||
| @@ -253,7 +253,6 @@ | |||
| 253 | struct net_device; | 253 | struct net_device; |
| 254 | struct genl_info; | 254 | struct genl_info; |
| 255 | struct wimax_dev; | 255 | struct wimax_dev; |
| 256 | struct input_dev; | ||
| 257 | 256 | ||
| 258 | /** | 257 | /** |
| 259 | * struct wimax_dev - Generic WiMAX device | 258 | * struct wimax_dev - Generic WiMAX device |
| @@ -293,8 +292,8 @@ struct input_dev; | |||
| 293 | * See wimax_reset()'s documentation. | 292 | * See wimax_reset()'s documentation. |
| 294 | * | 293 | * |
| 295 | * @name: [fill] A way to identify this device. We need to register a | 294 | * @name: [fill] A way to identify this device. We need to register a |
| 296 | * name with many subsystems (input for RFKILL, workqueue | 295 | * name with many subsystems (rfkill, workqueue creation, etc). |
| 297 | * creation, etc). We can't use the network device name as that | 296 | * We can't use the network device name as that |
| 298 | * might change and in some instances we don't know it yet (until | 297 | * might change and in some instances we don't know it yet (until |
| 299 | * we don't call register_netdev()). So we generate an unique one | 298 | * we don't call register_netdev()). So we generate an unique one |
| 300 | * using the driver name and device bus id, place it here and use | 299 | * using the driver name and device bus id, place it here and use |
| @@ -316,9 +315,6 @@ struct input_dev; | |||
| 316 | * | 315 | * |
| 317 | * @rfkill: [private] integration into the RF-Kill infrastructure. | 316 | * @rfkill: [private] integration into the RF-Kill infrastructure. |
| 318 | * | 317 | * |
| 319 | * @rfkill_input: [private] virtual input device to process the | ||
| 320 | * hardware RF Kill switches. | ||
| 321 | * | ||
| 322 | * @rf_sw: [private] State of the software radio switch (OFF/ON) | 318 | * @rf_sw: [private] State of the software radio switch (OFF/ON) |
| 323 | * | 319 | * |
| 324 | * @rf_hw: [private] State of the hardware radio switch (OFF/ON) | 320 | * @rf_hw: [private] State of the hardware radio switch (OFF/ON) |
