mac802154: remove check if operation is supported

This patch removes the check if operation is supported by driver layer.
This is done now by capabilities flags, if these are valid then the
driver should support the operation, otherwise a WARN_ON occurs.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Alexander Aring 2015-05-17 21:44:45 +02:00 committed by Marcel Holtmann
parent 791021bf13
commit 8329fcf11f

View File

@ -98,10 +98,6 @@ ieee802154_set_cca_mode(struct wpan_phy *wpan_phy,
if (wpan_phy_cca_cmp(&wpan_phy->cca, cca))
return 0;
/* check if phy support this setting */
if (!(local->hw.flags & IEEE802154_HW_CCA_MODE))
return -EOPNOTSUPP;
ret = drv_set_cca_mode(local, cca);
if (!ret)
wpan_phy->cca = *cca;
@ -127,17 +123,12 @@ ieee802154_set_backoff_exponent(struct wpan_phy *wpan_phy,
struct wpan_dev *wpan_dev,
u8 min_be, u8 max_be)
{
struct ieee802154_local *local = wpan_phy_priv(wpan_phy);
ASSERT_RTNL();
if (wpan_dev->min_be == min_be &&
wpan_dev->max_be == max_be)
return 0;
if (!(local->hw.flags & IEEE802154_HW_CSMA_PARAMS))
return -EOPNOTSUPP;
wpan_dev->min_be = min_be;
wpan_dev->max_be = max_be;
return 0;
@ -161,16 +152,11 @@ ieee802154_set_max_csma_backoffs(struct wpan_phy *wpan_phy,
struct wpan_dev *wpan_dev,
u8 max_csma_backoffs)
{
struct ieee802154_local *local = wpan_phy_priv(wpan_phy);
ASSERT_RTNL();
if (wpan_dev->csma_retries == max_csma_backoffs)
return 0;
if (!(local->hw.flags & IEEE802154_HW_CSMA_PARAMS))
return -EOPNOTSUPP;
wpan_dev->csma_retries = max_csma_backoffs;
return 0;
}
@ -180,16 +166,11 @@ ieee802154_set_max_frame_retries(struct wpan_phy *wpan_phy,
struct wpan_dev *wpan_dev,
s8 max_frame_retries)
{
struct ieee802154_local *local = wpan_phy_priv(wpan_phy);
ASSERT_RTNL();
if (wpan_dev->frame_retries == max_frame_retries)
return 0;
if (!(local->hw.flags & IEEE802154_HW_FRAME_RETRIES))
return -EOPNOTSUPP;
wpan_dev->frame_retries = max_frame_retries;
return 0;
}
@ -198,16 +179,11 @@ static int
ieee802154_set_lbt_mode(struct wpan_phy *wpan_phy, struct wpan_dev *wpan_dev,
bool mode)
{
struct ieee802154_local *local = wpan_phy_priv(wpan_phy);
ASSERT_RTNL();
if (wpan_dev->lbt == mode)
return 0;
if (!(local->hw.flags & IEEE802154_HW_LBT))
return -EOPNOTSUPP;
wpan_dev->lbt = mode;
return 0;
}