ieee802154: add several phy supported handling
This patch adds support for phy supported handling for all other already existing handling 802.15.4 functionality. We assume now a fully 802.15.4 complaint transceiver at phy allocation. If a transceiver can support 802.15.4 default values only, then the values should be overwirtten by values the transceiver supports. If the transceiver doesn't set the according hardware flags, we assume the 802.15.4 defaults now which cannot be changed. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Suggested-by: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:

committed by
Marcel Holtmann

parent
72f655e44d
commit
fea3318d20
@@ -61,8 +61,32 @@ struct cfg802154_ops {
|
||||
struct wpan_dev *wpan_dev, bool mode);
|
||||
};
|
||||
|
||||
static inline bool
|
||||
wpan_phy_supported_bool(bool b, enum nl802154_supported_bool_states st)
|
||||
{
|
||||
switch (st) {
|
||||
case NL802154_SUPPORTED_BOOL_TRUE:
|
||||
return b;
|
||||
case NL802154_SUPPORTED_BOOL_FALSE:
|
||||
return !b;
|
||||
case NL802154_SUPPORTED_BOOL_BOTH:
|
||||
return true;
|
||||
default:
|
||||
WARN_ON(1);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
struct wpan_phy_supported {
|
||||
u32 channels[IEEE802154_MAX_PAGE + 1];
|
||||
u32 channels[IEEE802154_MAX_PAGE + 1],
|
||||
cca_modes, cca_opts;
|
||||
enum nl802154_supported_bool_states lbt;
|
||||
u8 min_minbe, max_minbe, min_maxbe, max_maxbe,
|
||||
min_csma_backoffs, max_csma_backoffs;
|
||||
s8 min_frame_retries, max_frame_retries;
|
||||
size_t tx_powers_size, cca_ed_levels_size;
|
||||
const s32 *tx_powers, *cca_ed_levels;
|
||||
};
|
||||
|
||||
struct wpan_phy_cca {
|
||||
|
Reference in New Issue
Block a user