2014-11-02 06:18:38 +03:00
# ifndef __CFG802154_RDEV_OPS
# define __CFG802154_RDEV_OPS
# include <net/cfg802154.h>
# include "core.h"
2015-04-30 18:44:55 +03:00
# include "trace.h"
2014-11-02 06:18:38 +03:00
static inline struct net_device *
rdev_add_virtual_intf_deprecated ( struct cfg802154_registered_device * rdev ,
2015-04-30 18:44:57 +03:00
const char * name ,
unsigned char name_assign_type ,
int type )
2014-11-02 06:18:38 +03:00
{
return rdev - > ops - > add_virtual_intf_deprecated ( & rdev - > wpan_phy , name ,
2015-04-30 18:44:57 +03:00
name_assign_type , type ) ;
2014-11-02 06:18:38 +03:00
}
static inline void
rdev_del_virtual_intf_deprecated ( struct cfg802154_registered_device * rdev ,
struct net_device * dev )
{
rdev - > ops - > del_virtual_intf_deprecated ( & rdev - > wpan_phy , dev ) ;
}
2015-06-24 12:36:35 +03:00
static inline int
rdev_suspend ( struct cfg802154_registered_device * rdev )
{
int ret ;
trace_802154_rdev_suspend ( & rdev - > wpan_phy ) ;
ret = rdev - > ops - > suspend ( & rdev - > wpan_phy ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
}
static inline int
rdev_resume ( struct cfg802154_registered_device * rdev )
{
int ret ;
trace_802154_rdev_resume ( & rdev - > wpan_phy ) ;
ret = rdev - > ops - > resume ( & rdev - > wpan_phy ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
}
2014-11-17 10:20:51 +03:00
static inline int
rdev_add_virtual_intf ( struct cfg802154_registered_device * rdev , char * name ,
2015-04-30 18:44:57 +03:00
unsigned char name_assign_type ,
2014-11-17 10:20:52 +03:00
enum nl802154_iftype type , __le64 extended_addr )
2014-11-17 10:20:51 +03:00
{
2015-04-30 18:44:55 +03:00
int ret ;
trace_802154_rdev_add_virtual_intf ( & rdev - > wpan_phy , name , type ,
2014-11-17 10:20:52 +03:00
extended_addr ) ;
2015-04-30 18:44:57 +03:00
ret = rdev - > ops - > add_virtual_intf ( & rdev - > wpan_phy , name ,
name_assign_type , type ,
2015-04-30 18:44:55 +03:00
extended_addr ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
2014-11-17 10:20:51 +03:00
}
2014-11-17 10:20:53 +03:00
static inline int
rdev_del_virtual_intf ( struct cfg802154_registered_device * rdev ,
struct wpan_dev * wpan_dev )
{
2015-04-30 18:44:55 +03:00
int ret ;
trace_802154_rdev_del_virtual_intf ( & rdev - > wpan_phy , wpan_dev ) ;
ret = rdev - > ops - > del_virtual_intf ( & rdev - > wpan_phy , wpan_dev ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
2014-11-17 10:20:53 +03:00
}
2014-11-12 05:36:55 +03:00
static inline int
2014-11-17 10:20:47 +03:00
rdev_set_channel ( struct cfg802154_registered_device * rdev , u8 page , u8 channel )
2014-11-12 05:36:55 +03:00
{
2015-04-30 18:44:55 +03:00
int ret ;
trace_802154_rdev_set_channel ( & rdev - > wpan_phy , page , channel ) ;
ret = rdev - > ops - > set_channel ( & rdev - > wpan_phy , page , channel ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
2014-11-12 05:36:55 +03:00
}
2014-12-10 17:33:13 +03:00
static inline int
rdev_set_cca_mode ( struct cfg802154_registered_device * rdev ,
const struct wpan_phy_cca * cca )
{
2015-04-30 18:44:55 +03:00
int ret ;
trace_802154_rdev_set_cca_mode ( & rdev - > wpan_phy , cca ) ;
ret = rdev - > ops - > set_cca_mode ( & rdev - > wpan_phy , cca ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
2014-12-10 17:33:13 +03:00
}
2015-05-27 14:42:10 +03:00
static inline int
rdev_set_cca_ed_level ( struct cfg802154_registered_device * rdev , s32 ed_level )
{
int ret ;
trace_802154_rdev_set_cca_ed_level ( & rdev - > wpan_phy , ed_level ) ;
ret = rdev - > ops - > set_cca_ed_level ( & rdev - > wpan_phy , ed_level ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
}
2015-05-27 06:40:54 +03:00
static inline int
rdev_set_tx_power ( struct cfg802154_registered_device * rdev ,
s32 power )
{
int ret ;
trace_802154_rdev_set_tx_power ( & rdev - > wpan_phy , power ) ;
ret = rdev - > ops - > set_tx_power ( & rdev - > wpan_phy , power ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
}
2014-11-12 05:36:57 +03:00
static inline int
rdev_set_pan_id ( struct cfg802154_registered_device * rdev ,
2014-11-17 10:20:55 +03:00
struct wpan_dev * wpan_dev , __le16 pan_id )
2014-11-12 05:36:57 +03:00
{
2015-04-30 18:44:55 +03:00
int ret ;
trace_802154_rdev_set_pan_id ( & rdev - > wpan_phy , wpan_dev , pan_id ) ;
ret = rdev - > ops - > set_pan_id ( & rdev - > wpan_phy , wpan_dev , pan_id ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
2014-11-12 05:36:57 +03:00
}
2014-11-12 05:36:58 +03:00
static inline int
rdev_set_short_addr ( struct cfg802154_registered_device * rdev ,
2014-11-17 10:20:55 +03:00
struct wpan_dev * wpan_dev , __le16 short_addr )
2014-11-12 05:36:58 +03:00
{
2015-04-30 18:44:55 +03:00
int ret ;
trace_802154_rdev_set_short_addr ( & rdev - > wpan_phy , wpan_dev , short_addr ) ;
ret = rdev - > ops - > set_short_addr ( & rdev - > wpan_phy , wpan_dev , short_addr ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
2014-11-12 05:36:58 +03:00
}
2014-11-12 05:36:59 +03:00
static inline int
rdev_set_backoff_exponent ( struct cfg802154_registered_device * rdev ,
2014-11-17 10:20:47 +03:00
struct wpan_dev * wpan_dev , u8 min_be , u8 max_be )
2014-11-12 05:36:59 +03:00
{
2015-04-30 18:44:55 +03:00
int ret ;
trace_802154_rdev_set_backoff_exponent ( & rdev - > wpan_phy , wpan_dev ,
2014-11-12 05:36:59 +03:00
min_be , max_be ) ;
2015-04-30 18:44:55 +03:00
ret = rdev - > ops - > set_backoff_exponent ( & rdev - > wpan_phy , wpan_dev ,
min_be , max_be ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
2014-11-12 05:36:59 +03:00
}
2014-11-12 05:37:01 +03:00
static inline int
rdev_set_max_csma_backoffs ( struct cfg802154_registered_device * rdev ,
2014-11-17 10:20:47 +03:00
struct wpan_dev * wpan_dev , u8 max_csma_backoffs )
2014-11-12 05:37:01 +03:00
{
2015-04-30 18:44:55 +03:00
int ret ;
trace_802154_rdev_set_csma_backoffs ( & rdev - > wpan_phy , wpan_dev ,
max_csma_backoffs ) ;
ret = rdev - > ops - > set_max_csma_backoffs ( & rdev - > wpan_phy , wpan_dev ,
max_csma_backoffs ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
2014-11-12 05:37:01 +03:00
}
2014-11-12 05:37:03 +03:00
static inline int
rdev_set_max_frame_retries ( struct cfg802154_registered_device * rdev ,
2014-11-17 10:20:47 +03:00
struct wpan_dev * wpan_dev , s8 max_frame_retries )
2014-11-12 05:37:03 +03:00
{
2015-04-30 18:44:55 +03:00
int ret ;
trace_802154_rdev_set_max_frame_retries ( & rdev - > wpan_phy , wpan_dev ,
2014-11-12 05:37:03 +03:00
max_frame_retries ) ;
2015-04-30 18:44:55 +03:00
ret = rdev - > ops - > set_max_frame_retries ( & rdev - > wpan_phy , wpan_dev ,
max_frame_retries ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
2014-11-12 05:37:03 +03:00
}
2014-11-12 05:37:05 +03:00
static inline int
rdev_set_lbt_mode ( struct cfg802154_registered_device * rdev ,
2014-11-17 10:20:47 +03:00
struct wpan_dev * wpan_dev , bool mode )
2014-11-12 05:37:05 +03:00
{
2015-04-30 18:44:55 +03:00
int ret ;
trace_802154_rdev_set_lbt_mode ( & rdev - > wpan_phy , wpan_dev , mode ) ;
ret = rdev - > ops - > set_lbt_mode ( & rdev - > wpan_phy , wpan_dev , mode ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
2014-11-12 05:37:05 +03:00
}
2015-08-10 22:15:58 +03:00
static inline int
rdev_set_ackreq_default ( struct cfg802154_registered_device * rdev ,
struct wpan_dev * wpan_dev , bool ackreq )
{
int ret ;
trace_802154_rdev_set_ackreq_default ( & rdev - > wpan_phy , wpan_dev ,
ackreq ) ;
ret = rdev - > ops - > set_ackreq_default ( & rdev - > wpan_phy , wpan_dev , ackreq ) ;
trace_802154_rdev_return_int ( & rdev - > wpan_phy , ret ) ;
return ret ;
}
2014-11-02 06:18:38 +03:00
# endif /* __CFG802154_RDEV_OPS */