linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Florian Fainelli <f.fainelli@gmail.com>
To: Neil Armstrong <narmstrong@baylibre.com>, Andrew Lunn <andrew@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>,
	Jesper Dangaard Brouer <brouer@redhat.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 3/3] net: dsa: exit probe if no switch were found
Date: Fri, 02 Oct 2015 10:39:32 -0700	[thread overview]
Message-ID: <560EC154.8060400@gmail.com> (raw)
In-Reply-To: <560E744E.4010502@baylibre.com>

On 02/10/15 05:10, Neil Armstrong wrote:
> On 10/01/2015 06:32 PM, Andrew Lunn wrote:
>> On Thu, Oct 01, 2015 at 05:27:32PM +0200, Neil Armstrong wrote:
>>> On 09/30/2015 10:21 AM, Neil Armstrong wrote:
>>>> If no switch were found in dsa_setup_dst, return -ENODEV and
>>>> exit the dsa_probe cleanly.
>>
>> ...
>>  
>>> 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

      reply	other threads:[~2015-10-02 17:39 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-30  8:21 [RFC PATCH 3/3] net: dsa: exit probe if no switch were found Neil Armstrong
2015-10-01 15:27 ` Neil Armstrong
2015-10-01 16:32   ` Andrew Lunn
2015-10-02 12:10     ` Neil Armstrong
2015-10-02 17:39       ` Florian Fainelli [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=560EC154.8060400@gmail.com \
    --to=f.fainelli@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=brouer@redhat.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=narmstrong@baylibre.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).