Thread (5 messages) 5 messages, 3 authors, 2015-10-02

Re: [RFC PATCH 3/3] net: dsa: exit probe if no switch were found

From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2015-10-02 17:39:51
Also in: lkml

On 02/10/15 05:10, Neil Armstrong wrote:
On 10/01/2015 06:32 PM, Andrew Lunn wrote:
quoted
On Thu, Oct 01, 2015 at 05:27:32PM +0200, Neil Armstrong wrote:
quoted
On 09/30/2015 10:21 AM, Neil Armstrong wrote:
quoted
If no switch were found in dsa_setup_dst, return -ENODEV and
exit the dsa_probe cleanly.
...
 
quoted
Couldn't we use the probe defer mechanism here ? (until complete rework is done)
Hi Neil

I was thinking the same last night. We know the switch should be
there, otherwise it would not be in DT. So returning -EPROBE_DEFER
would be valid.

      Andrew
Hi,

It makes sens but does a module insertion triggers the differed probe ?
That's a good question, I am not convinced this is the case. Even with
the EPROBE_DEFER returned if the list of drivers is empty, you would
still very likely run into the following circular dependency, if you
make everything built as a module:

- dsa provides register_switch_driver and unregister_switch_driver
- switch drivers in drivers/net/dsa/* depend on these two symbols, so
until these symbols are loaded, the module loader cannot complete their
load successfully
- dsa will not be able to make any progress, that is, its driver list
will be empty as long as no switch driver is loaded

If you build dsa into your kernel, you might be fine though, or in a
better shape at least.
-- 
Florian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help