mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 08:42:12 +02:00
net: dsa: move cpu port probe to dsa_post_probe
In order to ensure that a DSA driver probe gets called before dsa_ops->port_probe move the port_probe of the cpu_port to a post-probe function. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
This commit is contained in:
@@ -466,7 +466,6 @@ static int dsa_pre_probe(struct udevice *dev)
|
||||
{
|
||||
struct dsa_pdata *pdata = dev_get_uclass_plat(dev);
|
||||
struct dsa_priv *priv = dev_get_uclass_priv(dev);
|
||||
struct dsa_ops *ops = dsa_get_ops(dev);
|
||||
int err;
|
||||
|
||||
priv->num_ports = pdata->num_ports;
|
||||
@@ -482,6 +481,15 @@ static int dsa_pre_probe(struct udevice *dev)
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dsa_post_probe(struct udevice *dev)
|
||||
{
|
||||
struct dsa_priv *priv = dev_get_uclass_priv(dev);
|
||||
struct dsa_ops *ops = dsa_get_ops(dev);
|
||||
int err;
|
||||
|
||||
/* Simulate a probing event for the CPU port */
|
||||
if (ops->port_probe) {
|
||||
err = ops->port_probe(dev, priv->cpu_port,
|
||||
@@ -498,6 +506,7 @@ UCLASS_DRIVER(dsa) = {
|
||||
.name = "dsa",
|
||||
.post_bind = dsa_post_bind,
|
||||
.pre_probe = dsa_pre_probe,
|
||||
.post_probe = dsa_post_probe,
|
||||
.per_device_auto = sizeof(struct dsa_priv),
|
||||
.per_device_plat_auto = sizeof(struct dsa_pdata),
|
||||
.per_child_plat_auto = sizeof(struct dsa_port_pdata),
|
||||
|
Reference in New Issue
Block a user