All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Clément Léger" <clement.leger@bootlin.com>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: "Russell King (Oracle)" <linux@armlinux.org.uk>,
	"Andrew Lunn" <andrew@lunn.ch>,
	"Vivien Didelot" <vivien.didelot@gmail.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"David S . Miller" <davem@davemloft.net>,
	"Eric Dumazet" <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Geert Uytterhoeven" <geert+renesas@glider.be>,
	"Magnus Damm" <magnus.damm@gmail.com>,
	"Heiner Kallweit" <hkallweit1@gmail.com>,
	"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
	"Herve Codina" <herve.codina@bootlin.com>,
	"Miquèl Raynal" <miquel.raynal@bootlin.com>,
	"Milan Stevanovic" <milan.stevanovic@se.com>,
	"Jimmy Lalande" <jimmy.lalande@se.com>,
	"Pascal Eberhard" <pascal.eberhard@se.com>,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-renesas-soc@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH net-next v5 05/13] net: pcs: add Renesas MII converter driver
Date: Fri, 20 May 2022 18:22:35 +0200	[thread overview]
Message-ID: <20220520182235.0fadb7e6@fixe.home> (raw)
In-Reply-To: <20220520155815.dtilf65h4dyo4md6@skbuf>

Le Fri, 20 May 2022 18:58:15 +0300,
Vladimir Oltean <olteanv@gmail.com> a écrit :

> On Fri, May 20, 2022 at 05:49:34PM +0200, Clément Léger wrote:
> > Le Fri, 20 May 2022 18:44:40 +0300,
> > Vladimir Oltean <olteanv@gmail.com> a écrit :
> >   
> > > On Fri, May 20, 2022 at 05:22:44PM +0200, Clément Léger wrote:  
> > > > Le Fri, 20 May 2022 11:49:14 +0300,
> > > > Vladimir Oltean <olteanv@gmail.com> a écrit :
> > > >    
> > > > > On Fri, May 20, 2022 at 09:52:41AM +0200, Clément Léger wrote:    
> > > > > > > Also, as a request to unbind this driver would be disasterous to users,
> > > > > > > I think you should set ".suppress_bind_attrs = true" to prevent the
> > > > > > > sysfs bind/unbind facility being available. This doesn't completely
> > > > > > > solve the problem.    
> > > > > >
> > > > > > Acked. What should I do to make it more robust ? Should I use a
> > > > > > refcount per pdev and check that in the remove() callback to avoid
> > > > > > removing the pdev if used ?    
> > > > >
> > > > > I wonder, if you call device_link_add(ds->dev, miic->dev, DL_FLAG_AUTOREMOVE_CONSUMER),
> > > > > wouldn't that be enough to auto-unbind the DSA driver when the MII
> > > > > converter driver unbinds?    
> > > >
> > > > I looiked at that a bit and I'm not sure how to achieve that cleanly. If
> > > > I need to create this link, then I need to do it once for the dsa switch
> > > > device. However, currently, the way I get the references to the MII
> > > > converter are via the pcs-handle properties which are for each port.
> > > >
> > > > So, I'm not sure creating the link multiple times in miic_create() would
> > > > be ok and also, I'm not sure how to create the link once without adding
> > > > a specific property which points on the MII converter node and use that
> > > > to create the link by adding miic_device_add_link() for instance.
> > > >
> > > > Do you have any preference ?    
> > > 
> > > The simplest (although not the most elegant) way would probably be to
> > > pass the ds->dev as a second argument to miic_create(), and call
> > > device_link_add() multiple times, letting all but the first call fail,
> > > and ignoring the resulting NULL return code. Maybe others have a better idea.  
> > 
> > That's indeed what I started to do although it's nasty to say the
> > least... Moreover, the device_link_del() calls in miic_destroy() would
> > have to be carefully made after all miic ports have been
> > destroyed. Not sure this is going to be cleaner ! I'll try to think
> > about it a bit more.  
> 
> Wait... the whole idea with AUTOREMOVE_CONSUMER is that you _don't_
> remove the device link.. you let it sit there such that the device core
> knows there are other consumers it needs to remove when this driver
> unbinds from the device.

Hum ok, got it, so let's try this solution.

-- 
Clément Léger,
Embedded Linux and Kernel engineer at Bootlin
https://bootlin.com

  reply	other threads:[~2022-05-20 16:23 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-19 15:30 [PATCH net-next v5 00/13] add support for Renesas RZ/N1 ethernet subsystem devices Clément Léger
2022-05-19 15:30 ` [PATCH net-next v5 01/13] net: dsa: allow port_bridge_join() to override extack message Clément Léger
2022-05-19 17:53   ` Vladimir Oltean
2022-05-19 15:30 ` [PATCH net-next v5 02/13] net: dsa: add support for ethtool get_rmon_stats() Clément Léger
2022-05-19 15:30 ` [PATCH net-next v5 03/13] net: dsa: add Renesas RZ/N1 switch tag driver Clément Léger
2022-05-19 15:30 ` [PATCH net-next v5 04/13] dt-bindings: net: pcs: add bindings for Renesas RZ/N1 MII converter Clément Léger
2022-05-20  7:09   ` Geert Uytterhoeven
2022-05-19 15:30 ` [PATCH net-next v5 05/13] net: pcs: add Renesas MII converter driver Clément Léger
2022-05-19 16:25   ` Russell King (Oracle)
2022-05-20  7:52     ` Clément Léger
2022-05-20  8:49       ` Vladimir Oltean
2022-05-20 15:22         ` Clément Léger
2022-05-20 15:44           ` Vladimir Oltean
2022-05-20 15:49             ` Clément Léger
2022-05-20 15:58               ` Vladimir Oltean
2022-05-20 16:22                 ` Clément Léger [this message]
2022-05-19 15:31 ` [PATCH net-next v5 06/13] dt-bindings: net: dsa: add bindings for Renesas RZ/N1 Advanced 5 port switch Clément Léger
2022-05-20  7:13   ` Geert Uytterhoeven
2022-05-20  7:57     ` Clément Léger
2022-05-20  8:01       ` Geert Uytterhoeven
2022-05-20  8:16         ` Clément Léger
2022-05-24  2:34   ` Rob Herring
2022-05-19 15:31 ` [PATCH net-next v5 07/13] net: dsa: rzn1-a5psw: add Renesas RZ/N1 advanced 5 port switch driver Clément Léger
2022-05-19 18:08   ` Vladimir Oltean
2022-05-20  7:58     ` Clément Léger
2022-05-19 15:31 ` [PATCH net-next v5 08/13] net: dsa: rzn1-a5psw: add statistics support Clément Léger
2022-05-19 18:24   ` Vladimir Oltean
2022-05-19 15:31 ` [PATCH net-next v5 09/13] net: dsa: rzn1-a5psw: add FDB support Clément Léger
2022-05-19 18:12   ` Vladimir Oltean
2022-05-19 15:31 ` [PATCH net-next v5 10/13] ARM: dts: r9a06g032: describe MII converter Clément Léger
2022-05-19 15:31 ` [PATCH net-next v5 11/13] ARM: dts: r9a06g032: describe GMAC2 Clément Léger
2022-05-20  7:18   ` Geert Uytterhoeven
2022-05-20  8:13     ` Clément Léger
2022-05-20  8:25       ` Geert Uytterhoeven
2022-05-20  8:31         ` Clément Léger
2022-05-20  8:48           ` Geert Uytterhoeven
2022-05-19 15:31 ` [PATCH net-next v5 12/13] ARM: dts: r9a06g032: describe switch Clément Léger
2022-05-19 18:28   ` Vladimir Oltean
2022-05-20  8:18     ` Clément Léger
2022-05-19 15:31 ` [PATCH net-next v5 13/13] MAINTAINERS: add Renesas RZ/N1 switch related driver entry Clément Léger

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=20220520182235.0fadb7e6@fixe.home \
    --to=clement.leger@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=geert+renesas@glider.be \
    --cc=herve.codina@bootlin.com \
    --cc=hkallweit1@gmail.com \
    --cc=jimmy.lalande@se.com \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=magnus.damm@gmail.com \
    --cc=milan.stevanovic@se.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=pascal.eberhard@se.com \
    --cc=robh+dt@kernel.org \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=vivien.didelot@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.