diff options
| author | Florian Fainelli <[email protected]> | 2015-03-05 20:35:05 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2015-03-06 05:18:20 +0000 |
| commit | b324c07ac4771a6ac8f57a3e1897e1b36b0a9ff0 (patch) | |
| tree | 06bca8330ded3688b456c19a3f0a52b86e714188 /net/dsa/dsa.c | |
| parent | net: dsa: update dsa_of_{probe, remove} to use a device pointer (diff) | |
| download | kernel-b324c07ac4771a6ac8f57a3e1897e1b36b0a9ff0.tar.gz kernel-b324c07ac4771a6ac8f57a3e1897e1b36b0a9ff0.zip | |
net: dsa: allow deferred probing
In preparation for allowing a different model to register DSA switches,
update dsa_of_probe() and dsa_probe() to return -EPROBE_DEFER where
appropriate.
Failure to find a phandle or Device Tree property is still fatal, but
looking up the internal device structure associated with a Device Tree
node is something that might need to be delayed based on driver probe
ordering.
Signed-off-by: Florian Fainelli <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/dsa/dsa.c')
| -rw-r--r-- | net/dsa/dsa.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index d804364150bd..79879d01488a 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c @@ -583,7 +583,7 @@ static int dsa_of_probe(struct device *dev) mdio_bus = of_mdio_find_bus(mdio); if (!mdio_bus) - return -EINVAL; + return -EPROBE_DEFER; ethernet = of_parse_phandle(np, "dsa,ethernet", 0); if (!ethernet) @@ -591,7 +591,7 @@ static int dsa_of_probe(struct device *dev) ethernet_dev = of_find_device_by_node(ethernet); if (!ethernet_dev) - return -ENODEV; + return -EPROBE_DEFER; pd = kzalloc(sizeof(*pd), GFP_KERNEL); if (!pd) @@ -718,7 +718,7 @@ static int dsa_probe(struct platform_device *pdev) dev = dev_to_net_device(pd->netdev); if (dev == NULL) { - ret = -EINVAL; + ret = -EPROBE_DEFER; goto out; } |
