cfg80211: pass a channel definition struct
Instead of passing a channel pointer and channel type to all functions and driver methods, pass a new channel definition struct. Right now, this struct contains just the control channel and channel type, but for VHT this will change. Also, add a small inline cfg80211_get_chandef_type() so that drivers don't need to use the _type field of the new structure all the time, which will change. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -359,12 +359,11 @@ rdev_libertas_set_mesh_channel(struct cfg80211_registered_device *rdev,
|
||||
|
||||
static inline int
|
||||
rdev_set_monitor_channel(struct cfg80211_registered_device *rdev,
|
||||
struct ieee80211_channel *chan,
|
||||
enum nl80211_channel_type channel_type)
|
||||
struct cfg80211_chan_def *chandef)
|
||||
{
|
||||
int ret;
|
||||
trace_rdev_set_monitor_channel(&rdev->wiphy, chan, channel_type);
|
||||
ret = rdev->ops->set_monitor_channel(&rdev->wiphy, chan, channel_type);
|
||||
trace_rdev_set_monitor_channel(&rdev->wiphy, chandef);
|
||||
ret = rdev->ops->set_monitor_channel(&rdev->wiphy, chandef);
|
||||
trace_rdev_return_int(&rdev->wiphy, ret);
|
||||
return ret;
|
||||
}
|
||||
@@ -844,14 +843,17 @@ static inline void rdev_get_et_strings(struct cfg80211_registered_device *rdev,
|
||||
trace_rdev_return_void(&rdev->wiphy);
|
||||
}
|
||||
|
||||
static inline struct ieee80211_channel
|
||||
*rdev_get_channel(struct cfg80211_registered_device *rdev,
|
||||
struct wireless_dev *wdev, enum nl80211_channel_type *type)
|
||||
static inline int
|
||||
rdev_get_channel(struct cfg80211_registered_device *rdev,
|
||||
struct wireless_dev *wdev,
|
||||
struct cfg80211_chan_def *chandef)
|
||||
{
|
||||
struct ieee80211_channel *ret;
|
||||
int ret;
|
||||
|
||||
trace_rdev_get_channel(&rdev->wiphy, wdev);
|
||||
ret = rdev->ops->get_channel(&rdev->wiphy, wdev, type);
|
||||
trace_rdev_return_channel(&rdev->wiphy, ret, *type);
|
||||
ret = rdev->ops->get_channel(&rdev->wiphy, wdev, chandef);
|
||||
trace_rdev_return_chandef(&rdev->wiphy, ret, chandef);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user