Netdev Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@kernel.org>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	Oleksij Rempel <linux@rempel-privat.de>,
	Yangbo Lu <yangbo.lu@nxp.com>,
	Networking <netdev@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH net-next] dsa: sja1105: fix reverse dependency
Date: Thu, 5 Aug 2021 14:05:11 +0200	[thread overview]
Message-ID: <CAK8P3a3csnad2Ote5JeRAdTwToZNa-2+DGwUs62sobU-ESWmbQ@mail.gmail.com> (raw)
In-Reply-To: <20210805114946.n46mumz2re7fxdto@skbuf>

On Thu, Aug 5, 2021 at 1:49 PM Vladimir Oltean <olteanv@gmail.com> wrote:
>
> On Thu, Aug 05, 2021 at 01:39:34PM +0200, Arnd Bergmann wrote:
> > Do you have any opinion on whether that 'select' going the other way is still
> > relevant?
>
> Yes, of course it is. It also has nothing to do with build dependencies.
> With the original DSA design from 2008, an Ethernet switch has separate
> drivers for
> (a) accessing its registers
> (b) manipulating the packets that the switch sends towards a host
>     Ethernet controller ("DSA master")
>
> The register access drivers are in drivers/net/dsa/*, the packet
> manipulation ("tagging protocol") drivers are in net/dsa/tag_*.c.
>
> [ This is because it was originally thought that a "tagging protocol" is
>   completely stateless and you should never need to access a hardware
>   register when manipulating a packet. ]
>
> When you enable a driver for a switch, you absolutely want to ping
> through it too, so all register access drivers enable the tagging
> protocol driver specific to their hardware as well, using 'select'.
> This works just fine because tagging protocol drivers generally have no
> dependencies, or if they do, the register access driver inherits them too.
> So a user does not need to manually enable the tagging protocol driver.

Got it, thanks for the explanation.

      Arnd

  reply	other threads:[~2021-08-05 12:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-05 11:00 Arnd Bergmann
2021-08-05 11:25 ` Vladimir Oltean
2021-08-05 11:39   ` Arnd Bergmann
2021-08-05 11:49     ` Vladimir Oltean
2021-08-05 12:05       ` Arnd Bergmann [this message]
2021-08-05 12:17     ` Vladimir Oltean
2021-08-05 12:22       ` Arnd Bergmann

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=CAK8P3a3csnad2Ote5JeRAdTwToZNa-2+DGwUs62sobU-ESWmbQ@mail.gmail.com \
    --to=arnd@kernel.org \
    --cc=andrew@lunn.ch \
    --cc=arnd@arndb.de \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@rempel-privat.de \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=vivien.didelot@gmail.com \
    --cc=yangbo.lu@nxp.com \
    --subject='Re: [PATCH net-next] dsa: sja1105: fix reverse dependency' \
    /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

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).