Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
[firefly-linux-kernel-4.4.55.git] / net / mac802154 / ieee802154_dev.c
index e7aa76445fe1501698984e1666d048f4d900d17d..2cf66d885e68f38360cfb1ced1a08a924b342d22 100644 (file)
@@ -197,9 +197,6 @@ static int mac802154_set_txpower(struct wpan_phy *phy, int db)
 {
        struct mac802154_priv *priv = wpan_phy_priv(phy);
 
-       if (!priv->ops->set_txpower)
-               return -ENOTSUPP;
-
        return priv->ops->set_txpower(&priv->hw, db);
 }
 
@@ -207,9 +204,6 @@ static int mac802154_set_lbt(struct wpan_phy *phy, bool on)
 {
        struct mac802154_priv *priv = wpan_phy_priv(phy);
 
-       if (!priv->ops->set_lbt)
-               return -ENOTSUPP;
-
        return priv->ops->set_lbt(&priv->hw, on);
 }
 
@@ -217,9 +211,6 @@ static int mac802154_set_cca_mode(struct wpan_phy *phy, u8 mode)
 {
        struct mac802154_priv *priv = wpan_phy_priv(phy);
 
-       if (!priv->ops->set_cca_mode)
-               return -ENOTSUPP;
-
        return priv->ops->set_cca_mode(&priv->hw, mode);
 }
 
@@ -227,9 +218,6 @@ static int mac802154_set_cca_ed_level(struct wpan_phy *phy, s32 level)
 {
        struct mac802154_priv *priv = wpan_phy_priv(phy);
 
-       if (!priv->ops->set_cca_ed_level)
-               return -ENOTSUPP;
-
        return priv->ops->set_cca_ed_level(&priv->hw, level);
 }
 
@@ -238,9 +226,6 @@ static int mac802154_set_csma_params(struct wpan_phy *phy, u8 min_be,
 {
        struct mac802154_priv *priv = wpan_phy_priv(phy);
 
-       if (!priv->ops->set_csma_params)
-               return -ENOTSUPP;
-
        return priv->ops->set_csma_params(&priv->hw, min_be, max_be, retries);
 }
 
@@ -248,9 +233,6 @@ static int mac802154_set_frame_retries(struct wpan_phy *phy, s8 retries)
 {
        struct mac802154_priv *priv = wpan_phy_priv(phy);
 
-       if (!priv->ops->set_frame_retries)
-               return -ENOTSUPP;
-
        return priv->ops->set_frame_retries(&priv->hw, retries);
 }
 
@@ -331,12 +313,18 @@ int ieee802154_register_device(struct ieee802154_dev *dev)
 
        priv->phy->add_iface = mac802154_add_iface;
        priv->phy->del_iface = mac802154_del_iface;
-       priv->phy->set_txpower = mac802154_set_txpower;
-       priv->phy->set_lbt = mac802154_set_lbt;
-       priv->phy->set_cca_mode = mac802154_set_cca_mode;
-       priv->phy->set_cca_ed_level = mac802154_set_cca_ed_level;
-       priv->phy->set_csma_params = mac802154_set_csma_params;
-       priv->phy->set_frame_retries = mac802154_set_frame_retries;
+       if (priv->ops->set_txpower)
+               priv->phy->set_txpower = mac802154_set_txpower;
+       if (priv->ops->set_lbt)
+               priv->phy->set_lbt = mac802154_set_lbt;
+       if (priv->ops->set_cca_mode)
+               priv->phy->set_cca_mode = mac802154_set_cca_mode;
+       if (priv->ops->set_cca_ed_level)
+               priv->phy->set_cca_ed_level = mac802154_set_cca_ed_level;
+       if (priv->ops->set_csma_params)
+               priv->phy->set_csma_params = mac802154_set_csma_params;
+       if (priv->ops->set_frame_retries)
+               priv->phy->set_frame_retries = mac802154_set_frame_retries;
 
        rc = wpan_phy_register(priv->phy);
        if (rc < 0)