|
@@ -55,36 +55,6 @@ static int devm_phy_match(struct device *dev, void *res, void *match_data)
|
|
|
return res == match_data;
|
|
|
}
|
|
|
|
|
|
-static struct phy *phy_lookup(struct device *device, const char *port)
|
|
|
-{
|
|
|
- unsigned int count;
|
|
|
- struct phy *phy;
|
|
|
- struct device *dev;
|
|
|
- struct phy_consumer *consumers;
|
|
|
- struct class_dev_iter iter;
|
|
|
-
|
|
|
- class_dev_iter_init(&iter, phy_class, NULL, NULL);
|
|
|
- while ((dev = class_dev_iter_next(&iter))) {
|
|
|
- phy = to_phy(dev);
|
|
|
-
|
|
|
- if (!phy->init_data)
|
|
|
- continue;
|
|
|
- count = phy->init_data->num_consumers;
|
|
|
- consumers = phy->init_data->consumers;
|
|
|
- while (count--) {
|
|
|
- if (!strcmp(consumers->dev_name, dev_name(device)) &&
|
|
|
- !strcmp(consumers->port, port)) {
|
|
|
- class_dev_iter_exit(&iter);
|
|
|
- return phy;
|
|
|
- }
|
|
|
- consumers++;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- class_dev_iter_exit(&iter);
|
|
|
- return ERR_PTR(-ENODEV);
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* phy_create_lookup() - allocate and register PHY/device association
|
|
|
* @phy: the phy of the association
|
|
@@ -148,7 +118,6 @@ static struct phy *phy_find(struct device *dev, const char *con_id)
|
|
|
{
|
|
|
const char *dev_id = dev_name(dev);
|
|
|
struct phy_lookup *p, *pl = NULL;
|
|
|
- struct phy *phy;
|
|
|
|
|
|
mutex_lock(&phy_provider_mutex);
|
|
|
list_for_each_entry(p, &phys, node)
|
|
@@ -158,12 +127,7 @@ static struct phy *phy_find(struct device *dev, const char *con_id)
|
|
|
}
|
|
|
mutex_unlock(&phy_provider_mutex);
|
|
|
|
|
|
- phy = pl ? pl->phy : ERR_PTR(-ENODEV);
|
|
|
-
|
|
|
- /* fall-back to the old lookup method for now */
|
|
|
- if (IS_ERR(phy))
|
|
|
- phy = phy_lookup(dev, con_id);
|
|
|
- return phy;
|
|
|
+ return pl ? pl->phy : ERR_PTR(-ENODEV);
|
|
|
}
|
|
|
|
|
|
static struct phy_provider *of_phy_provider_lookup(struct device_node *node)
|
|
@@ -662,13 +626,11 @@ EXPORT_SYMBOL_GPL(devm_of_phy_get);
|
|
|
* @dev: device that is creating the new phy
|
|
|
* @node: device node of the phy
|
|
|
* @ops: function pointers for performing phy operations
|
|
|
- * @init_data: contains the list of PHY consumers or NULL
|
|
|
*
|
|
|
* Called to create a phy using phy framework.
|
|
|
*/
|
|
|
struct phy *phy_create(struct device *dev, struct device_node *node,
|
|
|
- const struct phy_ops *ops,
|
|
|
- struct phy_init_data *init_data)
|
|
|
+ const struct phy_ops *ops)
|
|
|
{
|
|
|
int ret;
|
|
|
int id;
|
|
@@ -706,7 +668,6 @@ struct phy *phy_create(struct device *dev, struct device_node *node,
|
|
|
phy->dev.of_node = node ?: dev->of_node;
|
|
|
phy->id = id;
|
|
|
phy->ops = ops;
|
|
|
- phy->init_data = init_data;
|
|
|
|
|
|
ret = dev_set_name(&phy->dev, "phy-%s.%d", dev_name(dev), id);
|
|
|
if (ret)
|
|
@@ -741,7 +702,6 @@ EXPORT_SYMBOL_GPL(phy_create);
|
|
|
* @dev: device that is creating the new phy
|
|
|
* @node: device node of the phy
|
|
|
* @ops: function pointers for performing phy operations
|
|
|
- * @init_data: contains the list of PHY consumers or NULL
|
|
|
*
|
|
|
* Creates a new PHY device adding it to the PHY class.
|
|
|
* While at that, it also associates the device with the phy using devres.
|
|
@@ -749,8 +709,7 @@ EXPORT_SYMBOL_GPL(phy_create);
|
|
|
* then, devres data is freed.
|
|
|
*/
|
|
|
struct phy *devm_phy_create(struct device *dev, struct device_node *node,
|
|
|
- const struct phy_ops *ops,
|
|
|
- struct phy_init_data *init_data)
|
|
|
+ const struct phy_ops *ops)
|
|
|
{
|
|
|
struct phy **ptr, *phy;
|
|
|
|
|
@@ -758,7 +717,7 @@ struct phy *devm_phy_create(struct device *dev, struct device_node *node,
|
|
|
if (!ptr)
|
|
|
return ERR_PTR(-ENOMEM);
|
|
|
|
|
|
- phy = phy_create(dev, node, ops, init_data);
|
|
|
+ phy = phy_create(dev, node, ops);
|
|
|
if (!IS_ERR(phy)) {
|
|
|
*ptr = phy;
|
|
|
devres_add(dev, ptr);
|