ieee802154: Add trace events for rdev->ops
[firefly-linux-kernel-4.4.55.git] / net / ieee802154 / rdev-ops.h
1 #ifndef __CFG802154_RDEV_OPS
2 #define __CFG802154_RDEV_OPS
3
4 #include <net/cfg802154.h>
5
6 #include "core.h"
7 #include "trace.h"
8
9 static inline struct net_device *
10 rdev_add_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
11                                  const char *name, int type)
12 {
13         return rdev->ops->add_virtual_intf_deprecated(&rdev->wpan_phy, name,
14                                                       type);
15 }
16
17 static inline void
18 rdev_del_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
19                                  struct net_device *dev)
20 {
21         rdev->ops->del_virtual_intf_deprecated(&rdev->wpan_phy, dev);
22 }
23
24 static inline int
25 rdev_add_virtual_intf(struct cfg802154_registered_device *rdev, char *name,
26                       enum nl802154_iftype type, __le64 extended_addr)
27 {
28         int ret;
29
30         trace_802154_rdev_add_virtual_intf(&rdev->wpan_phy, name, type,
31                                            extended_addr);
32         ret = rdev->ops->add_virtual_intf(&rdev->wpan_phy, name, type,
33                                           extended_addr);
34         trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
35         return ret;
36 }
37
38 static inline int
39 rdev_del_virtual_intf(struct cfg802154_registered_device *rdev,
40                       struct wpan_dev *wpan_dev)
41 {
42         int ret;
43
44         trace_802154_rdev_del_virtual_intf(&rdev->wpan_phy, wpan_dev);
45         ret = rdev->ops->del_virtual_intf(&rdev->wpan_phy, wpan_dev);
46         trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
47         return ret;
48 }
49
50 static inline int
51 rdev_set_channel(struct cfg802154_registered_device *rdev, u8 page, u8 channel)
52 {
53         int ret;
54
55         trace_802154_rdev_set_channel(&rdev->wpan_phy, page, channel);
56         ret = rdev->ops->set_channel(&rdev->wpan_phy, page, channel);
57         trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
58         return ret;
59 }
60
61 static inline int
62 rdev_set_cca_mode(struct cfg802154_registered_device *rdev,
63                   const struct wpan_phy_cca *cca)
64 {
65         int ret;
66
67         trace_802154_rdev_set_cca_mode(&rdev->wpan_phy, cca);
68         ret = rdev->ops->set_cca_mode(&rdev->wpan_phy, cca);
69         trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
70         return ret;
71 }
72
73 static inline int
74 rdev_set_pan_id(struct cfg802154_registered_device *rdev,
75                 struct wpan_dev *wpan_dev, __le16 pan_id)
76 {
77         int ret;
78
79         trace_802154_rdev_set_pan_id(&rdev->wpan_phy, wpan_dev, pan_id);
80         ret = rdev->ops->set_pan_id(&rdev->wpan_phy, wpan_dev, pan_id);
81         trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
82         return ret;
83 }
84
85 static inline int
86 rdev_set_short_addr(struct cfg802154_registered_device *rdev,
87                     struct wpan_dev *wpan_dev, __le16 short_addr)
88 {
89         int ret;
90
91         trace_802154_rdev_set_short_addr(&rdev->wpan_phy, wpan_dev, short_addr);
92         ret = rdev->ops->set_short_addr(&rdev->wpan_phy, wpan_dev, short_addr);
93         trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
94         return ret;
95 }
96
97 static inline int
98 rdev_set_backoff_exponent(struct cfg802154_registered_device *rdev,
99                           struct wpan_dev *wpan_dev, u8 min_be, u8 max_be)
100 {
101         int ret;
102
103         trace_802154_rdev_set_backoff_exponent(&rdev->wpan_phy, wpan_dev,
104                                                min_be, max_be);
105         ret = rdev->ops->set_backoff_exponent(&rdev->wpan_phy, wpan_dev,
106                                               min_be, max_be);
107         trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
108         return ret;
109 }
110
111 static inline int
112 rdev_set_max_csma_backoffs(struct cfg802154_registered_device *rdev,
113                            struct wpan_dev *wpan_dev, u8 max_csma_backoffs)
114 {
115         int ret;
116
117         trace_802154_rdev_set_csma_backoffs(&rdev->wpan_phy, wpan_dev,
118                                             max_csma_backoffs);
119         ret = rdev->ops->set_max_csma_backoffs(&rdev->wpan_phy, wpan_dev,
120                                                max_csma_backoffs);
121         trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
122         return ret;
123 }
124
125 static inline int
126 rdev_set_max_frame_retries(struct cfg802154_registered_device *rdev,
127                            struct wpan_dev *wpan_dev, s8 max_frame_retries)
128 {
129         int ret;
130
131         trace_802154_rdev_set_max_frame_retries(&rdev->wpan_phy, wpan_dev,
132                                                 max_frame_retries);
133         ret = rdev->ops->set_max_frame_retries(&rdev->wpan_phy, wpan_dev,
134                                                max_frame_retries);
135         trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
136         return ret;
137 }
138
139 static inline int
140 rdev_set_lbt_mode(struct cfg802154_registered_device *rdev,
141                   struct wpan_dev *wpan_dev, bool mode)
142 {
143         int ret;
144
145         trace_802154_rdev_set_lbt_mode(&rdev->wpan_phy, wpan_dev, mode);
146         ret = rdev->ops->set_lbt_mode(&rdev->wpan_phy, wpan_dev, mode);
147         trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
148         return ret;
149 }
150
151 #endif /* __CFG802154_RDEV_OPS */