mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Wang, Xiaolei" <xiaolei.wang@windriver.com>
To: Florian Fainelli <f.fainelli@gmail.com>,
	andrew@lunn.ch, hkallweit1@gmail.com, linux@armlinux.org.uk,
	davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
	pabeni@redhat.com
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] net: phy: Add link between phy dev and mac dev
Date: Thu, 17 Nov 2022 12:39:45 +0800	[thread overview]
Message-ID: <2d6e5cdd-bcfb-1632-1458-38d506e15b82@windriver.com> (raw)
In-Reply-To: <980ef04d-a303-4a69-a980-0c910571c835@gmail.com>


On 11/17/2022 7:22 AM, Florian Fainelli wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender 
> and know the content is safe.
>
> On 11/16/22 06:43, Xiaolei Wang wrote:
>> The external phy used by current mac interface
>> is managed by another mac interface, so we should
>> create a device link between phy dev and mac dev.
>>
>> Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com>
>> ---
>>   drivers/net/phy/phy.c | 20 ++++++++++++++++++++
>>   include/linux/phy.h   |  1 +
>>   2 files changed, 21 insertions(+)
>>
>> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
>> index e741d8aebffe..0ef6b69026c7 100644
>> --- a/drivers/net/phy/phy.c
>> +++ b/drivers/net/phy/phy.c
>> @@ -35,6 +35,7 @@
>>   #include <net/netlink.h>
>>   #include <net/genetlink.h>
>>   #include <net/sock.h>
>> +#include <linux/of_mdio.h>
>>
>>   #define PHY_STATE_TIME      HZ
>>
>> @@ -1535,3 +1536,22 @@ int phy_ethtool_nway_reset(struct net_device 
>> *ndev)
>>       return phy_restart_aneg(phydev);
>>   }
>>   EXPORT_SYMBOL(phy_ethtool_nway_reset);
>> +
>> +/**
>> + * The external phy used by current mac interface is managed by
>> + * another mac interface, so we should create a device link between
>> + * phy dev and mac dev.
>> + */
>> +void phy_mac_link_add(struct device_node *phy_np, struct net_device 
>> *ndev)
>> +{
>> +     struct phy_device *phy_dev = of_phy_find_device(phy_np);
>> +     struct device *dev = phy_dev ? &phy_dev->mdio.dev : NULL;
>> +
>> +     if (dev && ndev->dev.parent != dev)
>> +             device_link_add(ndev->dev.parent, dev,
>> +                             DL_FLAG_PM_RUNTIME);
>
> Where is the matching device_link_del()?

Hi

Oh, what do you mean when some modules are uninstalled, should we delete 
the link?
My original idea was to wait for the dev (consumer or supplier) to be 
unregistered and automatically deleted, I read the comment of 
device_link_add, if DL_FLAG_STATELESS is not set, the caller of this 
function will completely hand over the management of the link to the 
driver core, then The link will remain until one of the devices it 
points to (consumer or provider) is unregistered.

thanks

xiaolei

> -- 
> Florian
>

  reply	other threads:[~2022-11-17  4:40 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-16 14:43 [PATCH 0/2] " Xiaolei Wang
2022-11-16 14:43 ` [PATCH 1/2] net: phy: " Xiaolei Wang
2022-11-16 23:11   ` kernel test robot
2022-11-16 23:22   ` Florian Fainelli
2022-11-17  4:39     ` Wang, Xiaolei [this message]
2022-11-17 19:28   ` kernel test robot
2022-11-16 14:43 ` [PATCH 2/2] net: fec: Create device " Xiaolei Wang
2022-11-16 15:07   ` Andrew Lunn
2022-11-16 23:27     ` Florian Fainelli
2022-11-16 23:57       ` Andrew Lunn
2022-11-17  0:21         ` Florian Fainelli
2022-11-17  4:40           ` Wang, Xiaolei
2022-11-17  4:40     ` Wang, Xiaolei

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=2d6e5cdd-bcfb-1632-1458-38d506e15b82@windriver.com \
    --to=xiaolei.wang@windriver.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.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

all inboxes | Powered by JetHome®