mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00: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:
parent
f54002d774
commit
c5868fcd25
1 changed files with 10 additions and 1 deletions
|
@ -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),
|
||||
|
|
Loading…
Reference in a new issue