18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef __CFG802154_RDEV_OPS
38c2ecf20Sopenharmony_ci#define __CFG802154_RDEV_OPS
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <net/cfg802154.h>
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#include "core.h"
88c2ecf20Sopenharmony_ci#include "trace.h"
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cistatic inline struct net_device *
118c2ecf20Sopenharmony_cirdev_add_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
128c2ecf20Sopenharmony_ci				 const char *name,
138c2ecf20Sopenharmony_ci				 unsigned char name_assign_type,
148c2ecf20Sopenharmony_ci				 int type)
158c2ecf20Sopenharmony_ci{
168c2ecf20Sopenharmony_ci	return rdev->ops->add_virtual_intf_deprecated(&rdev->wpan_phy, name,
178c2ecf20Sopenharmony_ci						      name_assign_type, type);
188c2ecf20Sopenharmony_ci}
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_cistatic inline void
218c2ecf20Sopenharmony_cirdev_del_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
228c2ecf20Sopenharmony_ci				 struct net_device *dev)
238c2ecf20Sopenharmony_ci{
248c2ecf20Sopenharmony_ci	rdev->ops->del_virtual_intf_deprecated(&rdev->wpan_phy, dev);
258c2ecf20Sopenharmony_ci}
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_cistatic inline int
288c2ecf20Sopenharmony_cirdev_suspend(struct cfg802154_registered_device *rdev)
298c2ecf20Sopenharmony_ci{
308c2ecf20Sopenharmony_ci	int ret;
318c2ecf20Sopenharmony_ci	trace_802154_rdev_suspend(&rdev->wpan_phy);
328c2ecf20Sopenharmony_ci	ret = rdev->ops->suspend(&rdev->wpan_phy);
338c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
348c2ecf20Sopenharmony_ci	return ret;
358c2ecf20Sopenharmony_ci}
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_cistatic inline int
388c2ecf20Sopenharmony_cirdev_resume(struct cfg802154_registered_device *rdev)
398c2ecf20Sopenharmony_ci{
408c2ecf20Sopenharmony_ci	int ret;
418c2ecf20Sopenharmony_ci	trace_802154_rdev_resume(&rdev->wpan_phy);
428c2ecf20Sopenharmony_ci	ret = rdev->ops->resume(&rdev->wpan_phy);
438c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
448c2ecf20Sopenharmony_ci	return ret;
458c2ecf20Sopenharmony_ci}
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_cistatic inline int
488c2ecf20Sopenharmony_cirdev_add_virtual_intf(struct cfg802154_registered_device *rdev, char *name,
498c2ecf20Sopenharmony_ci		      unsigned char name_assign_type,
508c2ecf20Sopenharmony_ci		      enum nl802154_iftype type, __le64 extended_addr)
518c2ecf20Sopenharmony_ci{
528c2ecf20Sopenharmony_ci	int ret;
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci	trace_802154_rdev_add_virtual_intf(&rdev->wpan_phy, name, type,
558c2ecf20Sopenharmony_ci					   extended_addr);
568c2ecf20Sopenharmony_ci	ret = rdev->ops->add_virtual_intf(&rdev->wpan_phy, name,
578c2ecf20Sopenharmony_ci					  name_assign_type, type,
588c2ecf20Sopenharmony_ci					  extended_addr);
598c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
608c2ecf20Sopenharmony_ci	return ret;
618c2ecf20Sopenharmony_ci}
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_cistatic inline int
648c2ecf20Sopenharmony_cirdev_del_virtual_intf(struct cfg802154_registered_device *rdev,
658c2ecf20Sopenharmony_ci		      struct wpan_dev *wpan_dev)
668c2ecf20Sopenharmony_ci{
678c2ecf20Sopenharmony_ci	int ret;
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci	trace_802154_rdev_del_virtual_intf(&rdev->wpan_phy, wpan_dev);
708c2ecf20Sopenharmony_ci	ret = rdev->ops->del_virtual_intf(&rdev->wpan_phy, wpan_dev);
718c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
728c2ecf20Sopenharmony_ci	return ret;
738c2ecf20Sopenharmony_ci}
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_cistatic inline int
768c2ecf20Sopenharmony_cirdev_set_channel(struct cfg802154_registered_device *rdev, u8 page, u8 channel)
778c2ecf20Sopenharmony_ci{
788c2ecf20Sopenharmony_ci	int ret;
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci	trace_802154_rdev_set_channel(&rdev->wpan_phy, page, channel);
818c2ecf20Sopenharmony_ci	ret = rdev->ops->set_channel(&rdev->wpan_phy, page, channel);
828c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
838c2ecf20Sopenharmony_ci	return ret;
848c2ecf20Sopenharmony_ci}
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_cistatic inline int
878c2ecf20Sopenharmony_cirdev_set_cca_mode(struct cfg802154_registered_device *rdev,
888c2ecf20Sopenharmony_ci		  const struct wpan_phy_cca *cca)
898c2ecf20Sopenharmony_ci{
908c2ecf20Sopenharmony_ci	int ret;
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci	trace_802154_rdev_set_cca_mode(&rdev->wpan_phy, cca);
938c2ecf20Sopenharmony_ci	ret = rdev->ops->set_cca_mode(&rdev->wpan_phy, cca);
948c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
958c2ecf20Sopenharmony_ci	return ret;
968c2ecf20Sopenharmony_ci}
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_cistatic inline int
998c2ecf20Sopenharmony_cirdev_set_cca_ed_level(struct cfg802154_registered_device *rdev, s32 ed_level)
1008c2ecf20Sopenharmony_ci{
1018c2ecf20Sopenharmony_ci	int ret;
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci	trace_802154_rdev_set_cca_ed_level(&rdev->wpan_phy, ed_level);
1048c2ecf20Sopenharmony_ci	ret = rdev->ops->set_cca_ed_level(&rdev->wpan_phy, ed_level);
1058c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
1068c2ecf20Sopenharmony_ci	return ret;
1078c2ecf20Sopenharmony_ci}
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_cistatic inline int
1108c2ecf20Sopenharmony_cirdev_set_tx_power(struct cfg802154_registered_device *rdev,
1118c2ecf20Sopenharmony_ci		  s32 power)
1128c2ecf20Sopenharmony_ci{
1138c2ecf20Sopenharmony_ci	int ret;
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ci	trace_802154_rdev_set_tx_power(&rdev->wpan_phy, power);
1168c2ecf20Sopenharmony_ci	ret = rdev->ops->set_tx_power(&rdev->wpan_phy, power);
1178c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
1188c2ecf20Sopenharmony_ci	return ret;
1198c2ecf20Sopenharmony_ci}
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_cistatic inline int
1228c2ecf20Sopenharmony_cirdev_set_pan_id(struct cfg802154_registered_device *rdev,
1238c2ecf20Sopenharmony_ci		struct wpan_dev *wpan_dev, __le16 pan_id)
1248c2ecf20Sopenharmony_ci{
1258c2ecf20Sopenharmony_ci	int ret;
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci	trace_802154_rdev_set_pan_id(&rdev->wpan_phy, wpan_dev, pan_id);
1288c2ecf20Sopenharmony_ci	ret = rdev->ops->set_pan_id(&rdev->wpan_phy, wpan_dev, pan_id);
1298c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
1308c2ecf20Sopenharmony_ci	return ret;
1318c2ecf20Sopenharmony_ci}
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_cistatic inline int
1348c2ecf20Sopenharmony_cirdev_set_short_addr(struct cfg802154_registered_device *rdev,
1358c2ecf20Sopenharmony_ci		    struct wpan_dev *wpan_dev, __le16 short_addr)
1368c2ecf20Sopenharmony_ci{
1378c2ecf20Sopenharmony_ci	int ret;
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ci	trace_802154_rdev_set_short_addr(&rdev->wpan_phy, wpan_dev, short_addr);
1408c2ecf20Sopenharmony_ci	ret = rdev->ops->set_short_addr(&rdev->wpan_phy, wpan_dev, short_addr);
1418c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
1428c2ecf20Sopenharmony_ci	return ret;
1438c2ecf20Sopenharmony_ci}
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_cistatic inline int
1468c2ecf20Sopenharmony_cirdev_set_backoff_exponent(struct cfg802154_registered_device *rdev,
1478c2ecf20Sopenharmony_ci			  struct wpan_dev *wpan_dev, u8 min_be, u8 max_be)
1488c2ecf20Sopenharmony_ci{
1498c2ecf20Sopenharmony_ci	int ret;
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ci	trace_802154_rdev_set_backoff_exponent(&rdev->wpan_phy, wpan_dev,
1528c2ecf20Sopenharmony_ci					       min_be, max_be);
1538c2ecf20Sopenharmony_ci	ret = rdev->ops->set_backoff_exponent(&rdev->wpan_phy, wpan_dev,
1548c2ecf20Sopenharmony_ci					      min_be, max_be);
1558c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
1568c2ecf20Sopenharmony_ci	return ret;
1578c2ecf20Sopenharmony_ci}
1588c2ecf20Sopenharmony_ci
1598c2ecf20Sopenharmony_cistatic inline int
1608c2ecf20Sopenharmony_cirdev_set_max_csma_backoffs(struct cfg802154_registered_device *rdev,
1618c2ecf20Sopenharmony_ci			   struct wpan_dev *wpan_dev, u8 max_csma_backoffs)
1628c2ecf20Sopenharmony_ci{
1638c2ecf20Sopenharmony_ci	int ret;
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci	trace_802154_rdev_set_csma_backoffs(&rdev->wpan_phy, wpan_dev,
1668c2ecf20Sopenharmony_ci					    max_csma_backoffs);
1678c2ecf20Sopenharmony_ci	ret = rdev->ops->set_max_csma_backoffs(&rdev->wpan_phy, wpan_dev,
1688c2ecf20Sopenharmony_ci					       max_csma_backoffs);
1698c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
1708c2ecf20Sopenharmony_ci	return ret;
1718c2ecf20Sopenharmony_ci}
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_cistatic inline int
1748c2ecf20Sopenharmony_cirdev_set_max_frame_retries(struct cfg802154_registered_device *rdev,
1758c2ecf20Sopenharmony_ci			   struct wpan_dev *wpan_dev, s8 max_frame_retries)
1768c2ecf20Sopenharmony_ci{
1778c2ecf20Sopenharmony_ci	int ret;
1788c2ecf20Sopenharmony_ci
1798c2ecf20Sopenharmony_ci	trace_802154_rdev_set_max_frame_retries(&rdev->wpan_phy, wpan_dev,
1808c2ecf20Sopenharmony_ci						max_frame_retries);
1818c2ecf20Sopenharmony_ci	ret = rdev->ops->set_max_frame_retries(&rdev->wpan_phy, wpan_dev,
1828c2ecf20Sopenharmony_ci					       max_frame_retries);
1838c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
1848c2ecf20Sopenharmony_ci	return ret;
1858c2ecf20Sopenharmony_ci}
1868c2ecf20Sopenharmony_ci
1878c2ecf20Sopenharmony_cistatic inline int
1888c2ecf20Sopenharmony_cirdev_set_lbt_mode(struct cfg802154_registered_device *rdev,
1898c2ecf20Sopenharmony_ci		  struct wpan_dev *wpan_dev, bool mode)
1908c2ecf20Sopenharmony_ci{
1918c2ecf20Sopenharmony_ci	int ret;
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ci	trace_802154_rdev_set_lbt_mode(&rdev->wpan_phy, wpan_dev, mode);
1948c2ecf20Sopenharmony_ci	ret = rdev->ops->set_lbt_mode(&rdev->wpan_phy, wpan_dev, mode);
1958c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
1968c2ecf20Sopenharmony_ci	return ret;
1978c2ecf20Sopenharmony_ci}
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_cistatic inline int
2008c2ecf20Sopenharmony_cirdev_set_ackreq_default(struct cfg802154_registered_device *rdev,
2018c2ecf20Sopenharmony_ci			struct wpan_dev *wpan_dev, bool ackreq)
2028c2ecf20Sopenharmony_ci{
2038c2ecf20Sopenharmony_ci	int ret;
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ci	trace_802154_rdev_set_ackreq_default(&rdev->wpan_phy, wpan_dev,
2068c2ecf20Sopenharmony_ci					     ackreq);
2078c2ecf20Sopenharmony_ci	ret = rdev->ops->set_ackreq_default(&rdev->wpan_phy, wpan_dev, ackreq);
2088c2ecf20Sopenharmony_ci	trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
2098c2ecf20Sopenharmony_ci	return ret;
2108c2ecf20Sopenharmony_ci}
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ci#ifdef CONFIG_IEEE802154_NL802154_EXPERIMENTAL
2138c2ecf20Sopenharmony_ci/* TODO this is already a nl802154, so move into ieee802154 */
2148c2ecf20Sopenharmony_cistatic inline void
2158c2ecf20Sopenharmony_cirdev_get_llsec_table(struct cfg802154_registered_device *rdev,
2168c2ecf20Sopenharmony_ci		     struct wpan_dev *wpan_dev,
2178c2ecf20Sopenharmony_ci		     struct ieee802154_llsec_table **table)
2188c2ecf20Sopenharmony_ci{
2198c2ecf20Sopenharmony_ci	rdev->ops->get_llsec_table(&rdev->wpan_phy, wpan_dev, table);
2208c2ecf20Sopenharmony_ci}
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_cistatic inline void
2238c2ecf20Sopenharmony_cirdev_lock_llsec_table(struct cfg802154_registered_device *rdev,
2248c2ecf20Sopenharmony_ci		      struct wpan_dev *wpan_dev)
2258c2ecf20Sopenharmony_ci{
2268c2ecf20Sopenharmony_ci	rdev->ops->lock_llsec_table(&rdev->wpan_phy, wpan_dev);
2278c2ecf20Sopenharmony_ci}
2288c2ecf20Sopenharmony_ci
2298c2ecf20Sopenharmony_cistatic inline void
2308c2ecf20Sopenharmony_cirdev_unlock_llsec_table(struct cfg802154_registered_device *rdev,
2318c2ecf20Sopenharmony_ci			struct wpan_dev *wpan_dev)
2328c2ecf20Sopenharmony_ci{
2338c2ecf20Sopenharmony_ci	rdev->ops->unlock_llsec_table(&rdev->wpan_phy, wpan_dev);
2348c2ecf20Sopenharmony_ci}
2358c2ecf20Sopenharmony_ci
2368c2ecf20Sopenharmony_cistatic inline int
2378c2ecf20Sopenharmony_cirdev_get_llsec_params(struct cfg802154_registered_device *rdev,
2388c2ecf20Sopenharmony_ci		      struct wpan_dev *wpan_dev,
2398c2ecf20Sopenharmony_ci		      struct ieee802154_llsec_params *params)
2408c2ecf20Sopenharmony_ci{
2418c2ecf20Sopenharmony_ci	return rdev->ops->get_llsec_params(&rdev->wpan_phy, wpan_dev, params);
2428c2ecf20Sopenharmony_ci}
2438c2ecf20Sopenharmony_ci
2448c2ecf20Sopenharmony_cistatic inline int
2458c2ecf20Sopenharmony_cirdev_set_llsec_params(struct cfg802154_registered_device *rdev,
2468c2ecf20Sopenharmony_ci		      struct wpan_dev *wpan_dev,
2478c2ecf20Sopenharmony_ci		      const struct ieee802154_llsec_params *params,
2488c2ecf20Sopenharmony_ci		      u32 changed)
2498c2ecf20Sopenharmony_ci{
2508c2ecf20Sopenharmony_ci	return rdev->ops->set_llsec_params(&rdev->wpan_phy, wpan_dev, params,
2518c2ecf20Sopenharmony_ci					   changed);
2528c2ecf20Sopenharmony_ci}
2538c2ecf20Sopenharmony_ci
2548c2ecf20Sopenharmony_cistatic inline int
2558c2ecf20Sopenharmony_cirdev_add_llsec_key(struct cfg802154_registered_device *rdev,
2568c2ecf20Sopenharmony_ci		   struct wpan_dev *wpan_dev,
2578c2ecf20Sopenharmony_ci		   const struct ieee802154_llsec_key_id *id,
2588c2ecf20Sopenharmony_ci		   const struct ieee802154_llsec_key *key)
2598c2ecf20Sopenharmony_ci{
2608c2ecf20Sopenharmony_ci	return rdev->ops->add_llsec_key(&rdev->wpan_phy, wpan_dev, id, key);
2618c2ecf20Sopenharmony_ci}
2628c2ecf20Sopenharmony_ci
2638c2ecf20Sopenharmony_cistatic inline int
2648c2ecf20Sopenharmony_cirdev_del_llsec_key(struct cfg802154_registered_device *rdev,
2658c2ecf20Sopenharmony_ci		   struct wpan_dev *wpan_dev,
2668c2ecf20Sopenharmony_ci		   const struct ieee802154_llsec_key_id *id)
2678c2ecf20Sopenharmony_ci{
2688c2ecf20Sopenharmony_ci	return rdev->ops->del_llsec_key(&rdev->wpan_phy, wpan_dev, id);
2698c2ecf20Sopenharmony_ci}
2708c2ecf20Sopenharmony_ci
2718c2ecf20Sopenharmony_cistatic inline int
2728c2ecf20Sopenharmony_cirdev_add_seclevel(struct cfg802154_registered_device *rdev,
2738c2ecf20Sopenharmony_ci		  struct wpan_dev *wpan_dev,
2748c2ecf20Sopenharmony_ci		  const struct ieee802154_llsec_seclevel *sl)
2758c2ecf20Sopenharmony_ci{
2768c2ecf20Sopenharmony_ci	return rdev->ops->add_seclevel(&rdev->wpan_phy, wpan_dev, sl);
2778c2ecf20Sopenharmony_ci}
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_cistatic inline int
2808c2ecf20Sopenharmony_cirdev_del_seclevel(struct cfg802154_registered_device *rdev,
2818c2ecf20Sopenharmony_ci		  struct wpan_dev *wpan_dev,
2828c2ecf20Sopenharmony_ci		  const struct ieee802154_llsec_seclevel *sl)
2838c2ecf20Sopenharmony_ci{
2848c2ecf20Sopenharmony_ci	return rdev->ops->del_seclevel(&rdev->wpan_phy, wpan_dev, sl);
2858c2ecf20Sopenharmony_ci}
2868c2ecf20Sopenharmony_ci
2878c2ecf20Sopenharmony_cistatic inline int
2888c2ecf20Sopenharmony_cirdev_add_device(struct cfg802154_registered_device *rdev,
2898c2ecf20Sopenharmony_ci		struct wpan_dev *wpan_dev,
2908c2ecf20Sopenharmony_ci		const struct ieee802154_llsec_device *dev_desc)
2918c2ecf20Sopenharmony_ci{
2928c2ecf20Sopenharmony_ci	return rdev->ops->add_device(&rdev->wpan_phy, wpan_dev, dev_desc);
2938c2ecf20Sopenharmony_ci}
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_cistatic inline int
2968c2ecf20Sopenharmony_cirdev_del_device(struct cfg802154_registered_device *rdev,
2978c2ecf20Sopenharmony_ci		struct wpan_dev *wpan_dev, __le64 extended_addr)
2988c2ecf20Sopenharmony_ci{
2998c2ecf20Sopenharmony_ci	return rdev->ops->del_device(&rdev->wpan_phy, wpan_dev, extended_addr);
3008c2ecf20Sopenharmony_ci}
3018c2ecf20Sopenharmony_ci
3028c2ecf20Sopenharmony_cistatic inline int
3038c2ecf20Sopenharmony_cirdev_add_devkey(struct cfg802154_registered_device *rdev,
3048c2ecf20Sopenharmony_ci		struct wpan_dev *wpan_dev, __le64 extended_addr,
3058c2ecf20Sopenharmony_ci		const struct ieee802154_llsec_device_key *devkey)
3068c2ecf20Sopenharmony_ci{
3078c2ecf20Sopenharmony_ci	return rdev->ops->add_devkey(&rdev->wpan_phy, wpan_dev, extended_addr,
3088c2ecf20Sopenharmony_ci				     devkey);
3098c2ecf20Sopenharmony_ci}
3108c2ecf20Sopenharmony_ci
3118c2ecf20Sopenharmony_cistatic inline int
3128c2ecf20Sopenharmony_cirdev_del_devkey(struct cfg802154_registered_device *rdev,
3138c2ecf20Sopenharmony_ci		struct wpan_dev *wpan_dev, __le64 extended_addr,
3148c2ecf20Sopenharmony_ci		const struct ieee802154_llsec_device_key *devkey)
3158c2ecf20Sopenharmony_ci{
3168c2ecf20Sopenharmony_ci	return rdev->ops->del_devkey(&rdev->wpan_phy, wpan_dev, extended_addr,
3178c2ecf20Sopenharmony_ci				     devkey);
3188c2ecf20Sopenharmony_ci}
3198c2ecf20Sopenharmony_ci#endif /* CONFIG_IEEE802154_NL802154_EXPERIMENTAL */
3208c2ecf20Sopenharmony_ci
3218c2ecf20Sopenharmony_ci#endif /* __CFG802154_RDEV_OPS */
322