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