aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorAlexander Aring <alex.aring@gmail.com>2014-10-25 11:16:40 -0400
committerMarcel Holtmann <marcel@holtmann.org>2014-10-25 15:55:38 -0400
commit59d19cd70cd38afd2d9bf2e3b48c3a5bbb630b5a (patch)
treec50750db9700ada4088809468424c9e22fb59581 /net
parent60741361c3ca229a1dbb18e05d11e97b7ea75d69 (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')
-rw-r--r--net/mac802154/ieee802154_i.h6
-rw-r--r--net/mac802154/iface.c18
-rw-r--r--net/mac802154/mac_cmd.c2
-rw-r--r--net/mac802154/main.c11
-rw-r--r--net/mac802154/mib.c49
-rw-r--r--net/mac802154/monitor.c4
6 files changed, 47 insertions, 43 deletions
diff --git a/net/mac802154/ieee802154_i.h b/net/mac802154/ieee802154_i.h
index 41e29b00e7a0..61885aaea6b6 100644
--- a/net/mac802154/ieee802154_i.h
+++ b/net/mac802154/ieee802154_i.h
@@ -107,6 +107,12 @@ hw_to_local(struct ieee802154_hw *hw)
107 return container_of(hw, struct ieee802154_local, hw); 107 return container_of(hw, struct ieee802154_local, hw);
108} 108}
109 109
110static inline struct ieee802154_sub_if_data *
111IEEE802154_DEV_TO_SUB_IF(const struct net_device *dev)
112{
113 return netdev_priv(dev);
114}
115
110extern struct ieee802154_reduced_mlme_ops mac802154_mlme_reduced; 116extern struct ieee802154_reduced_mlme_ops mac802154_mlme_reduced;
111extern struct ieee802154_mlme_ops mac802154_mlme_wpan; 117extern struct ieee802154_mlme_ops mac802154_mlme_wpan;
112 118
diff --git a/net/mac802154/iface.c b/net/mac802154/iface.c
index c0dbb402b99b..cdd661f0ef3f 100644
--- a/net/mac802154/iface.c
+++ b/net/mac802154/iface.c
@@ -33,7 +33,7 @@
33 33
34static int mac802154_wpan_update_llsec(struct net_device *dev) 34static int mac802154_wpan_update_llsec(struct net_device *dev)
35{ 35{
36 struct ieee802154_sub_if_data *sdata = netdev_priv(dev); 36 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
37 struct ieee802154_mlme_ops *ops = ieee802154_mlme_ops(dev); 37 struct ieee802154_mlme_ops *ops = ieee802154_mlme_ops(dev);
38 int rc = 0; 38 int rc = 0;
39 39
@@ -56,7 +56,7 @@ static int mac802154_wpan_update_llsec(struct net_device *dev)
56static int 56static int
57mac802154_wpan_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) 57mac802154_wpan_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
58{ 58{
59 struct ieee802154_sub_if_data *sdata = netdev_priv(dev); 59 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
60 struct sockaddr_ieee802154 *sa = 60 struct sockaddr_ieee802154 *sa =
61 (struct sockaddr_ieee802154 *)&ifr->ifr_addr; 61 (struct sockaddr_ieee802154 *)&ifr->ifr_addr;
62 int err = -ENOIOCTLCMD; 62 int err = -ENOIOCTLCMD;
@@ -123,7 +123,7 @@ static int mac802154_wpan_mac_addr(struct net_device *dev, void *p)
123int mac802154_set_mac_params(struct net_device *dev, 123int mac802154_set_mac_params(struct net_device *dev,
124 const struct ieee802154_mac_params *params) 124 const struct ieee802154_mac_params *params)
125{ 125{
126 struct ieee802154_sub_if_data *sdata = netdev_priv(dev); 126 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
127 127
128 mutex_lock(&sdata->local->iflist_mtx); 128 mutex_lock(&sdata->local->iflist_mtx);
129 sdata->mac_params = *params; 129 sdata->mac_params = *params;
@@ -135,7 +135,7 @@ int mac802154_set_mac_params(struct net_device *dev,
135void mac802154_get_mac_params(struct net_device *dev, 135void mac802154_get_mac_params(struct net_device *dev,
136 struct ieee802154_mac_params *params) 136 struct ieee802154_mac_params *params)
137{ 137{
138 struct ieee802154_sub_if_data *sdata = netdev_priv(dev); 138 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
139 139
140 mutex_lock(&sdata->local->iflist_mtx); 140 mutex_lock(&sdata->local->iflist_mtx);
141 *params = sdata->mac_params; 141 *params = sdata->mac_params;
@@ -145,7 +145,7 @@ void mac802154_get_mac_params(struct net_device *dev,
145static int mac802154_wpan_open(struct net_device *dev) 145static int mac802154_wpan_open(struct net_device *dev)
146{ 146{
147 int rc; 147 int rc;
148 struct ieee802154_sub_if_data *sdata = netdev_priv(dev); 148 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
149 struct wpan_phy *phy = sdata->local->phy; 149 struct wpan_phy *phy = sdata->local->phy;
150 150
151 rc = mac802154_slave_open(dev); 151 rc = mac802154_slave_open(dev);
@@ -241,7 +241,7 @@ static int mac802154_header_create(struct sk_buff *skb,
241 unsigned len) 241 unsigned len)
242{ 242{
243 struct ieee802154_hdr hdr; 243 struct ieee802154_hdr hdr;
244 struct ieee802154_sub_if_data *sdata = netdev_priv(dev); 244 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
245 struct ieee802154_mac_cb *cb = mac_cb(skb); 245 struct ieee802154_mac_cb *cb = mac_cb(skb);
246 int hlen; 246 int hlen;
247 247
@@ -314,7 +314,7 @@ mac802154_wpan_xmit(struct sk_buff *skb, struct net_device *dev)
314 u8 chan, page; 314 u8 chan, page;
315 int rc; 315 int rc;
316 316
317 sdata = netdev_priv(dev); 317 sdata = IEEE802154_DEV_TO_SUB_IF(dev);
318 318
319 spin_lock_bh(&sdata->mib_lock); 319 spin_lock_bh(&sdata->mib_lock);
320 chan = sdata->chan; 320 chan = sdata->chan;
@@ -357,7 +357,7 @@ static const struct net_device_ops mac802154_wpan_ops = {
357 357
358static void mac802154_wpan_free(struct net_device *dev) 358static void mac802154_wpan_free(struct net_device *dev)
359{ 359{
360 struct ieee802154_sub_if_data *sdata = netdev_priv(dev); 360 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
361 361
362 mac802154_llsec_destroy(&sdata->sec); 362 mac802154_llsec_destroy(&sdata->sec);
363 363
@@ -384,7 +384,7 @@ void mac802154_wpan_setup(struct net_device *dev)
384 dev->netdev_ops = &mac802154_wpan_ops; 384 dev->netdev_ops = &mac802154_wpan_ops;
385 dev->ml_priv = &mac802154_mlme_wpan; 385 dev->ml_priv = &mac802154_mlme_wpan;
386 386
387 sdata = netdev_priv(dev); 387 sdata = IEEE802154_DEV_TO_SUB_IF(dev);
388 sdata->type = IEEE802154_DEV_WPAN; 388 sdata->type = IEEE802154_DEV_WPAN;
389 389
390 sdata->chan = MAC802154_CHAN_NONE; 390 sdata->chan = MAC802154_CHAN_NONE;
diff --git a/net/mac802154/mac_cmd.c b/net/mac802154/mac_cmd.c
index 5ee1088e47ab..ed767f590ef9 100644
--- a/net/mac802154/mac_cmd.c
+++ b/net/mac802154/mac_cmd.c
@@ -75,7 +75,7 @@ static int mac802154_mlme_start_req(struct net_device *dev,
75 75
76static struct wpan_phy *mac802154_get_phy(const struct net_device *dev) 76static struct wpan_phy *mac802154_get_phy(const struct net_device *dev)
77{ 77{
78 struct ieee802154_sub_if_data *sdata = netdev_priv(dev); 78 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
79 79
80 BUG_ON(dev->type != ARPHRD_IEEE802154); 80 BUG_ON(dev->type != ARPHRD_IEEE802154);
81 81
diff --git a/net/mac802154/main.c b/net/mac802154/main.c
index c7799faf508b..a34006edcb8d 100644
--- a/net/mac802154/main.c
+++ b/net/mac802154/main.c
@@ -31,7 +31,7 @@
31 31
32int mac802154_slave_open(struct net_device *dev) 32int mac802154_slave_open(struct net_device *dev)
33{ 33{
34 struct ieee802154_sub_if_data *sdata = netdev_priv(dev); 34 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
35 struct ieee802154_sub_if_data *subif; 35 struct ieee802154_sub_if_data *subif;
36 struct ieee802154_local *local = sdata->local; 36 struct ieee802154_local *local = sdata->local;
37 int res = 0; 37 int res = 0;
@@ -81,7 +81,7 @@ err:
81 81
82int mac802154_slave_close(struct net_device *dev) 82int mac802154_slave_close(struct net_device *dev)
83{ 83{
84 struct ieee802154_sub_if_data *sdata = netdev_priv(dev); 84 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
85 struct ieee802154_local *local = sdata->local; 85 struct ieee802154_local *local = sdata->local;
86 86
87 ASSERT_RTNL(); 87 ASSERT_RTNL();
@@ -101,13 +101,12 @@ int mac802154_slave_close(struct net_device *dev)
101static int 101static int
102mac802154_netdev_register(struct wpan_phy *phy, struct net_device *dev) 102mac802154_netdev_register(struct wpan_phy *phy, struct net_device *dev)
103{ 103{
104 struct ieee802154_sub_if_data *sdata; 104 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
105 struct ieee802154_local *local; 105 struct ieee802154_local *local;
106 int err; 106 int err;
107 107
108 local = wpan_phy_priv(phy); 108 local = wpan_phy_priv(phy);
109 109
110 sdata = netdev_priv(dev);
111 sdata->dev = dev; 110 sdata->dev = dev;
112 sdata->local = local; 111 sdata->local = local;
113 112
@@ -138,12 +137,10 @@ mac802154_netdev_register(struct wpan_phy *phy, struct net_device *dev)
138static void 137static void
139mac802154_del_iface(struct wpan_phy *phy, struct net_device *dev) 138mac802154_del_iface(struct wpan_phy *phy, struct net_device *dev)
140{ 139{
141 struct ieee802154_sub_if_data *sdata; 140 struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);
142 141
143 ASSERT_RTNL(); 142 ASSERT_RTNL();
144 143
145 sdata = netdev_priv(dev);
146
147 BUG_ON(sdata->local->phy != phy); 144 BUG_ON(sdata->local->phy != phy);
148 145
149 mutex_lock(&sdata->local->iflist_mtx); 146 mutex_lock(&sdata->local->iflist_mtx);
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
39static struct ieee802154_local *mac802154_slave_get_priv(struct net_device *dev) 39static 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
63static void set_hw_addr_filt(struct net_device *dev, unsigned long changed) 63static 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
78void mac802154_dev_set_short_addr(struct net_device *dev, __le16 val) 78void 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
109void mac802154_dev_set_ieee_addr(struct net_device *dev) 109void 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
137void mac802154_dev_set_pan_id(struct net_device *dev, __le16 val) 137void 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
154u8 mac802154_dev_get_dsn(const struct net_device *dev) 154u8 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
184void mac802154_dev_set_page_channel(struct net_device *dev, u8 page, u8 chan) 185void 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)
214int mac802154_get_params(struct net_device *dev, 215int 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,
262int mac802154_del_key(struct net_device *dev, 263int 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,
278int mac802154_add_dev(struct net_device *dev, 279int 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
293int mac802154_del_dev(struct net_device *dev, __le64 dev_addr) 294int 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,
341int mac802154_add_seclevel(struct net_device *dev, 342int 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,
356int mac802154_del_seclevel(struct net_device *dev, 357int 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
372void mac802154_lock_table(struct net_device *dev) 373void 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)
381void mac802154_get_table(struct net_device *dev, 382void 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
391void mac802154_unlock_table(struct net_device *dev) 392void 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
diff --git a/net/mac802154/monitor.c b/net/mac802154/monitor.c
index 9d2ac5ea6634..f8ea6dc8dda5 100644
--- a/net/mac802154/monitor.c
+++ b/net/mac802154/monitor.c
@@ -36,7 +36,7 @@ static netdev_tx_t mac802154_monitor_xmit(struct sk_buff *skb,
36 struct ieee802154_sub_if_data *sdata; 36 struct ieee802154_sub_if_data *sdata;
37 u8 chan, page; 37 u8 chan, page;
38 38
39 sdata = netdev_priv(dev); 39 sdata = IEEE802154_DEV_TO_SUB_IF(dev);
40 40
41 /* FIXME: locking */ 41 /* FIXME: locking */
42 chan = sdata->local->phy->current_channel; 42 chan = sdata->local->phy->current_channel;
@@ -105,7 +105,7 @@ void mac802154_monitor_setup(struct net_device *dev)
105 dev->netdev_ops = &mac802154_monitor_ops; 105 dev->netdev_ops = &mac802154_monitor_ops;
106 dev->ml_priv = &mac802154_mlme_reduced; 106 dev->ml_priv = &mac802154_mlme_reduced;
107 107
108 sdata = netdev_priv(dev); 108 sdata = IEEE802154_DEV_TO_SUB_IF(dev);
109 sdata->type = IEEE802154_DEV_MONITOR; 109 sdata->type = IEEE802154_DEV_MONITOR;
110 110
111 sdata->chan = MAC802154_CHAN_NONE; /* not initialized */ 111 sdata->chan = MAC802154_CHAN_NONE; /* not initialized */