Follow the usual pattern of devices registration by adding new function
(wpan_phy_set_dev) that sets child->parent relationship and removing
parent argument from wpan_phy_register call.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
                        goto out;
        }
 
+       wpan_phy_set_dev(phy, &pdev->dev);
        SET_NETDEV_DEV(dev, &phy->dev);
 
        platform_set_drvdata(pdev, dev);
 
-       err = wpan_phy_register(&pdev->dev, phy);
+       err = wpan_phy_register(phy);
        if (err)
                goto out;
 
 
 };
 
 struct wpan_phy *wpan_phy_alloc(size_t priv_size);
-int wpan_phy_register(struct device *parent, struct wpan_phy *phy);
+static inline void wpan_phy_set_dev(struct wpan_phy *phy, struct device *dev)
+{
+       phy->dev.parent = dev;
+}
+int wpan_phy_register(struct wpan_phy *phy);
 void wpan_phy_unregister(struct wpan_phy *phy);
 void wpan_phy_free(struct wpan_phy *phy);
 /* Same semantics as for class_for_each_device */
 
 }
 EXPORT_SYMBOL(wpan_phy_alloc);
 
-int wpan_phy_register(struct device *parent, struct wpan_phy *phy)
+int wpan_phy_register(struct wpan_phy *phy)
 {
-       phy->dev.parent = parent;
-
        return device_add(&phy->dev);
 }
 EXPORT_SYMBOL(wpan_phy_register);