Loading drivers/phy/phy-core.c +15 −6 Original line number Diff line number Diff line Loading @@ -636,8 +636,9 @@ EXPORT_SYMBOL_GPL(devm_of_phy_get); * @np: node containing the phy * @index: index of the phy * * Gets the phy using _of_phy_get(), and associates a device with it using * devres. On driver detach, release function is invoked on the devres data, * Gets the phy using _of_phy_get(), then gets a refcount to it, * and associates a device with it using devres. On driver detach, * release function is invoked on the devres data, * then, devres data is freed. * */ Loading @@ -651,13 +652,21 @@ struct phy *devm_of_phy_get_by_index(struct device *dev, struct device_node *np, return ERR_PTR(-ENOMEM); phy = _of_phy_get(np, index); if (!IS_ERR(phy)) { *ptr = phy; devres_add(dev, ptr); } else { if (IS_ERR(phy)) { devres_free(ptr); return phy; } if (!try_module_get(phy->ops->owner)) { devres_free(ptr); return ERR_PTR(-EPROBE_DEFER); } get_device(&phy->dev); *ptr = phy; devres_add(dev, ptr); return phy; } EXPORT_SYMBOL_GPL(devm_of_phy_get_by_index); Loading Loading
drivers/phy/phy-core.c +15 −6 Original line number Diff line number Diff line Loading @@ -636,8 +636,9 @@ EXPORT_SYMBOL_GPL(devm_of_phy_get); * @np: node containing the phy * @index: index of the phy * * Gets the phy using _of_phy_get(), and associates a device with it using * devres. On driver detach, release function is invoked on the devres data, * Gets the phy using _of_phy_get(), then gets a refcount to it, * and associates a device with it using devres. On driver detach, * release function is invoked on the devres data, * then, devres data is freed. * */ Loading @@ -651,13 +652,21 @@ struct phy *devm_of_phy_get_by_index(struct device *dev, struct device_node *np, return ERR_PTR(-ENOMEM); phy = _of_phy_get(np, index); if (!IS_ERR(phy)) { *ptr = phy; devres_add(dev, ptr); } else { if (IS_ERR(phy)) { devres_free(ptr); return phy; } if (!try_module_get(phy->ops->owner)) { devres_free(ptr); return ERR_PTR(-EPROBE_DEFER); } get_device(&phy->dev); *ptr = phy; devres_add(dev, ptr); return phy; } EXPORT_SYMBOL_GPL(devm_of_phy_get_by_index); Loading