netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Saravana Kannan <saravanak@google.com>,
	netdev@vger.kernel.org
Subject: Re: Component API not right for DSA?
Date: Wed, 18 Sep 2024 14:47:30 +0100	[thread overview]
Message-ID: <ZurZ8sj4N9b0yUtx@shell.armlinux.org.uk> (raw)
In-Reply-To: <20240918111008.uzvzkcjg7wfj5foa@skbuf>

On Wed, Sep 18, 2024 at 02:10:08PM +0300, Vladimir Oltean wrote:
> This is all great, but then I realized that, for addressing issue #2,
> it is no better than what we currently have. Namely, by default the tree
> looks like this:
> 
...
> 
> but after this operation:
> 
> $ echo d0032004.mdio-mii:11 > /sys/bus/mdio_bus/devices/d0032004.mdio-mii\:11/driver/unbind
> $ cat /sys/kernel/debug/device_component/dsa_tree.0.auto
> aggregate_device name                                  status
> -------------------------------------------------------------
> dsa_tree.0.auto                                     not bound
> 
> device name                                            status
> -------------------------------------------------------------
> (unknown)                                      not registered
> d0032004.mdio-mii:10                                not bound
> d0032004.mdio-mii:12                                not bound
> 
> the tree (component master) is unbound, its unbind() method calls
> component_unbind_all(), and this also unbinds the other switches.

Correct. As author of the component helper... The component helper was
designed for an overall device that is made up of multiple component
devices that are themselves drivers, and _all_ need to be present in
order for the overall device to be functional. It is not intended to
address cases where an overall device has optional components.

The helper was originally written to address that problem for the
Freescale i.MX IPU, which had been sitting in staging for considerable
time, and was blocked from being moved out because of issues with this
that weren't solvable at the time (we didn't have device links back
then, which probably could've been used instead.)

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!

  parent reply	other threads:[~2024-09-18 13:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-18 11:10 Component API not right for DSA? Vladimir Oltean
2024-09-18 12:48 ` Andrew Lunn
2024-09-18 12:59   ` Vladimir Oltean
2024-09-18 13:47 ` Russell King (Oracle) [this message]
2024-09-18 14:25   ` Vladimir Oltean

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=ZurZ8sj4N9b0yUtx@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew@lunn.ch \
    --cc=f.fainelli@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=saravanak@google.com \
    --cc=vladimir.oltean@nxp.com \
    /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).