diff options
author | Alexander Aring <alex.aring@gmail.com> | 2014-10-25 11:16:40 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-10-25 15:55:38 -0400 |
commit | 59d19cd70cd38afd2d9bf2e3b48c3a5bbb630b5a (patch) | |
tree | c50750db9700ada4088809468424c9e22fb59581 /net/mac802154/mib.c | |
parent | 60741361c3ca229a1dbb18e05d11e97b7ea75d69 (diff) |
mac802154: introduce IEEE802154_DEV_TO_SUB_IF
This function adds a wrapper to call netdev_priv to getting the sdata
attribute. This is similar like the IEEE80211_DEV_TO_SUB_IF function
inside wireless stack implementation.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/mac802154/mib.c')
-rw-r--r-- | net/mac802154/mib.c | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/net/mac802154/mib.c b/net/mac802154/mib.c index 1ffca5c6b0b9..d7a25048a8af 100644 --- a/net/mac802154/mib.c +++ b/net/mac802154/mib.c | |||
@@ -38,7 +38,7 @@ struct hw_addr_filt_notify_work { | |||
38 | 38 | ||
39 | static struct ieee802154_local *mac802154_slave_get_priv(struct net_device *dev) | 39 | static struct ieee802154_local *mac802154_slave_get_priv(struct net_device *dev) |
40 | { | 40 | { |
41 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 41 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
42 | 42 | ||
43 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 43 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
44 | 44 | ||
@@ -62,7 +62,7 @@ static void hw_addr_notify(struct work_struct *work) | |||
62 | 62 | ||
63 | static void set_hw_addr_filt(struct net_device *dev, unsigned long changed) | 63 | static void set_hw_addr_filt(struct net_device *dev, unsigned long changed) |
64 | { | 64 | { |
65 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 65 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
66 | struct hw_addr_filt_notify_work *work; | 66 | struct hw_addr_filt_notify_work *work; |
67 | 67 | ||
68 | work = kzalloc(sizeof(*work), GFP_ATOMIC); | 68 | work = kzalloc(sizeof(*work), GFP_ATOMIC); |
@@ -77,7 +77,7 @@ static void set_hw_addr_filt(struct net_device *dev, unsigned long changed) | |||
77 | 77 | ||
78 | void mac802154_dev_set_short_addr(struct net_device *dev, __le16 val) | 78 | void mac802154_dev_set_short_addr(struct net_device *dev, __le16 val) |
79 | { | 79 | { |
80 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 80 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
81 | 81 | ||
82 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 82 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
83 | 83 | ||
@@ -94,7 +94,7 @@ void mac802154_dev_set_short_addr(struct net_device *dev, __le16 val) | |||
94 | 94 | ||
95 | __le16 mac802154_dev_get_short_addr(const struct net_device *dev) | 95 | __le16 mac802154_dev_get_short_addr(const struct net_device *dev) |
96 | { | 96 | { |
97 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 97 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
98 | __le16 ret; | 98 | __le16 ret; |
99 | 99 | ||
100 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 100 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -108,7 +108,7 @@ __le16 mac802154_dev_get_short_addr(const struct net_device *dev) | |||
108 | 108 | ||
109 | void mac802154_dev_set_ieee_addr(struct net_device *dev) | 109 | void mac802154_dev_set_ieee_addr(struct net_device *dev) |
110 | { | 110 | { |
111 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 111 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
112 | struct ieee802154_local *local = sdata->local; | 112 | struct ieee802154_local *local = sdata->local; |
113 | 113 | ||
114 | sdata->extended_addr = ieee802154_devaddr_from_raw(dev->dev_addr); | 114 | sdata->extended_addr = ieee802154_devaddr_from_raw(dev->dev_addr); |
@@ -122,7 +122,7 @@ void mac802154_dev_set_ieee_addr(struct net_device *dev) | |||
122 | 122 | ||
123 | __le16 mac802154_dev_get_pan_id(const struct net_device *dev) | 123 | __le16 mac802154_dev_get_pan_id(const struct net_device *dev) |
124 | { | 124 | { |
125 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 125 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
126 | __le16 ret; | 126 | __le16 ret; |
127 | 127 | ||
128 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 128 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -136,7 +136,7 @@ __le16 mac802154_dev_get_pan_id(const struct net_device *dev) | |||
136 | 136 | ||
137 | void mac802154_dev_set_pan_id(struct net_device *dev, __le16 val) | 137 | void mac802154_dev_set_pan_id(struct net_device *dev, __le16 val) |
138 | { | 138 | { |
139 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 139 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
140 | 140 | ||
141 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 141 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
142 | 142 | ||
@@ -153,7 +153,7 @@ void mac802154_dev_set_pan_id(struct net_device *dev, __le16 val) | |||
153 | 153 | ||
154 | u8 mac802154_dev_get_dsn(const struct net_device *dev) | 154 | u8 mac802154_dev_get_dsn(const struct net_device *dev) |
155 | { | 155 | { |
156 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 156 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
157 | 157 | ||
158 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 158 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
159 | 159 | ||
@@ -164,8 +164,9 @@ static void phy_chan_notify(struct work_struct *work) | |||
164 | { | 164 | { |
165 | struct phy_chan_notify_work *nw = container_of(work, | 165 | struct phy_chan_notify_work *nw = container_of(work, |
166 | struct phy_chan_notify_work, work); | 166 | struct phy_chan_notify_work, work); |
167 | struct ieee802154_local *local = mac802154_slave_get_priv(nw->dev); | 167 | struct net_device *dev = nw->dev; |
168 | struct ieee802154_sub_if_data *sdata = netdev_priv(nw->dev); | 168 | struct ieee802154_local *local = mac802154_slave_get_priv(dev); |
169 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); | ||
169 | int res; | 170 | int res; |
170 | 171 | ||
171 | mutex_lock(&sdata->local->phy->pib_lock); | 172 | mutex_lock(&sdata->local->phy->pib_lock); |
@@ -183,7 +184,7 @@ static void phy_chan_notify(struct work_struct *work) | |||
183 | 184 | ||
184 | void mac802154_dev_set_page_channel(struct net_device *dev, u8 page, u8 chan) | 185 | void mac802154_dev_set_page_channel(struct net_device *dev, u8 page, u8 chan) |
185 | { | 186 | { |
186 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 187 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
187 | struct phy_chan_notify_work *work; | 188 | struct phy_chan_notify_work *work; |
188 | 189 | ||
189 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 190 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -214,7 +215,7 @@ void mac802154_dev_set_page_channel(struct net_device *dev, u8 page, u8 chan) | |||
214 | int mac802154_get_params(struct net_device *dev, | 215 | int mac802154_get_params(struct net_device *dev, |
215 | struct ieee802154_llsec_params *params) | 216 | struct ieee802154_llsec_params *params) |
216 | { | 217 | { |
217 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 218 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
218 | int res; | 219 | int res; |
219 | 220 | ||
220 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 221 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -230,7 +231,7 @@ int mac802154_set_params(struct net_device *dev, | |||
230 | const struct ieee802154_llsec_params *params, | 231 | const struct ieee802154_llsec_params *params, |
231 | int changed) | 232 | int changed) |
232 | { | 233 | { |
233 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 234 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
234 | int res; | 235 | int res; |
235 | 236 | ||
236 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 237 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -247,7 +248,7 @@ int mac802154_add_key(struct net_device *dev, | |||
247 | const struct ieee802154_llsec_key_id *id, | 248 | const struct ieee802154_llsec_key_id *id, |
248 | const struct ieee802154_llsec_key *key) | 249 | const struct ieee802154_llsec_key *key) |
249 | { | 250 | { |
250 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 251 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
251 | int res; | 252 | int res; |
252 | 253 | ||
253 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 254 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -262,7 +263,7 @@ int mac802154_add_key(struct net_device *dev, | |||
262 | int mac802154_del_key(struct net_device *dev, | 263 | int mac802154_del_key(struct net_device *dev, |
263 | const struct ieee802154_llsec_key_id *id) | 264 | const struct ieee802154_llsec_key_id *id) |
264 | { | 265 | { |
265 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 266 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
266 | int res; | 267 | int res; |
267 | 268 | ||
268 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 269 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -278,7 +279,7 @@ int mac802154_del_key(struct net_device *dev, | |||
278 | int mac802154_add_dev(struct net_device *dev, | 279 | int mac802154_add_dev(struct net_device *dev, |
279 | const struct ieee802154_llsec_device *llsec_dev) | 280 | const struct ieee802154_llsec_device *llsec_dev) |
280 | { | 281 | { |
281 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 282 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
282 | int res; | 283 | int res; |
283 | 284 | ||
284 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 285 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -292,7 +293,7 @@ int mac802154_add_dev(struct net_device *dev, | |||
292 | 293 | ||
293 | int mac802154_del_dev(struct net_device *dev, __le64 dev_addr) | 294 | int mac802154_del_dev(struct net_device *dev, __le64 dev_addr) |
294 | { | 295 | { |
295 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 296 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
296 | int res; | 297 | int res; |
297 | 298 | ||
298 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 299 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -309,7 +310,7 @@ int mac802154_add_devkey(struct net_device *dev, | |||
309 | __le64 device_addr, | 310 | __le64 device_addr, |
310 | const struct ieee802154_llsec_device_key *key) | 311 | const struct ieee802154_llsec_device_key *key) |
311 | { | 312 | { |
312 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 313 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
313 | int res; | 314 | int res; |
314 | 315 | ||
315 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 316 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -325,7 +326,7 @@ int mac802154_del_devkey(struct net_device *dev, | |||
325 | __le64 device_addr, | 326 | __le64 device_addr, |
326 | const struct ieee802154_llsec_device_key *key) | 327 | const struct ieee802154_llsec_device_key *key) |
327 | { | 328 | { |
328 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 329 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
329 | int res; | 330 | int res; |
330 | 331 | ||
331 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 332 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -341,7 +342,7 @@ int mac802154_del_devkey(struct net_device *dev, | |||
341 | int mac802154_add_seclevel(struct net_device *dev, | 342 | int mac802154_add_seclevel(struct net_device *dev, |
342 | const struct ieee802154_llsec_seclevel *sl) | 343 | const struct ieee802154_llsec_seclevel *sl) |
343 | { | 344 | { |
344 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 345 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
345 | int res; | 346 | int res; |
346 | 347 | ||
347 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 348 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -356,7 +357,7 @@ int mac802154_add_seclevel(struct net_device *dev, | |||
356 | int mac802154_del_seclevel(struct net_device *dev, | 357 | int mac802154_del_seclevel(struct net_device *dev, |
357 | const struct ieee802154_llsec_seclevel *sl) | 358 | const struct ieee802154_llsec_seclevel *sl) |
358 | { | 359 | { |
359 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 360 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
360 | int res; | 361 | int res; |
361 | 362 | ||
362 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 363 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
@@ -371,7 +372,7 @@ int mac802154_del_seclevel(struct net_device *dev, | |||
371 | 372 | ||
372 | void mac802154_lock_table(struct net_device *dev) | 373 | void mac802154_lock_table(struct net_device *dev) |
373 | { | 374 | { |
374 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 375 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
375 | 376 | ||
376 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 377 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
377 | 378 | ||
@@ -381,7 +382,7 @@ void mac802154_lock_table(struct net_device *dev) | |||
381 | void mac802154_get_table(struct net_device *dev, | 382 | void mac802154_get_table(struct net_device *dev, |
382 | struct ieee802154_llsec_table **t) | 383 | struct ieee802154_llsec_table **t) |
383 | { | 384 | { |
384 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 385 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
385 | 386 | ||
386 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 387 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
387 | 388 | ||
@@ -390,7 +391,7 @@ void mac802154_get_table(struct net_device *dev, | |||
390 | 391 | ||
391 | void mac802154_unlock_table(struct net_device *dev) | 392 | void mac802154_unlock_table(struct net_device *dev) |
392 | { | 393 | { |
393 | struct ieee802154_sub_if_data *sdata = netdev_priv(dev); | 394 | struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev); |
394 | 395 | ||
395 | BUG_ON(dev->type != ARPHRD_IEEE802154); | 396 | BUG_ON(dev->type != ARPHRD_IEEE802154); |
396 | 397 | ||