From: Andrew Lunn <andrew@lunn.ch>
To: Richard Cochran <richardcochran@gmail.com>
Cc: netdev@vger.kernel.org, David Miller <davem@davemloft.net>,
devicetree@vger.kernel.org,
Florian Fainelli <f.fainelli@gmail.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
Jacob Keller <jacob.e.keller@intel.com>,
Mark Rutland <mark.rutland@arm.com>,
Miroslav Lichvar <mlichvar@redhat.com>,
Murali Karicheri <m-karicheri2@ti.com>,
Rob Herring <robh+dt@kernel.org>,
Willem de Bruijn <willemb@google.com>,
Wingman Kwok <w-kwok2@ti.com>
Subject: Re: [PATCH V6 net-next 06/11] net: Introduce a new MII time stamping interface.
Date: Tue, 17 Dec 2019 10:21:55 +0100 [thread overview]
Message-ID: <20191217092155.GL6994@lunn.ch> (raw)
In-Reply-To: <28939f11b984759257167e778d0c73c0dd206a35.1576511937.git.richardcochran@gmail.com>
> +static int dp83640_hwtstamp(struct mii_timestamper *mii_ts,
> + struct ifreq *ifr);
> +static int dp83640_ts_info(struct mii_timestamper *mii_ts,
> + struct ethtool_ts_info *info);
> +static bool dp83640_rxtstamp(struct mii_timestamper *mii_ts,
> + struct sk_buff *skb, int type);
> +static void dp83640_txtstamp(struct mii_timestamper *mii_ts,
> + struct sk_buff *skb, int type);
> static void rx_timestamp_work(struct work_struct *work);
Hi Richard
Forward declarations are considered bad. Please add a new patch to the
series which moves code around first. You can probably move
dp83640_probe() further down.
> -static bool dp83640_rxtstamp(struct phy_device *phydev,
> +static bool dp83640_rxtstamp(struct mii_timestamper *mii_ts,
> struct sk_buff *skb, int type)
> {
> - struct dp83640_private *dp83640 = phydev->priv;
> + struct dp83640_private *dp83640 =
> + container_of(mii_ts, struct dp83640_private, mii_ts);
> struct dp83640_skb_info *skb_info = (struct dp83640_skb_info *)skb->cb;
> struct list_head *this, *next;
> struct rxts *rxts;
David will probably complain about reverse christmas tree. Having to
fold dp83640_private is unfortunate here. Maybe consider adding a
macro for the container_of() so you can avoid the fold?
> diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
> index 0887ed2bb050..ee45838f90c9 100644
> --- a/drivers/net/phy/phy_device.c
> +++ b/drivers/net/phy/phy_device.c
> @@ -919,6 +919,8 @@ static void phy_link_change(struct phy_device *phydev, bool up, bool do_carrier)
> netif_carrier_off(netdev);
> }
> phydev->adjust_link(netdev);
> + if (phydev->mii_ts && phydev->mii_ts->link_state)
> + phydev->mii_ts->link_state(phydev->mii_ts, phydev);
> }
FYI:
When using phylink, not phylib, this call will not happen. You need to
add a similar bit of code in phylink_mac_config().
For the moment what you have is sufficient. I doubt anybody is using
the dp83640 with phylink, and the new hardware you are targeting seems
to be RGMII based, not SERDES, which is the main use case for PHYLINK.
Andrew
next prev parent reply other threads:[~2019-12-17 9:22 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-16 16:13 [PATCH V6 net-next 00/11] Peer to Peer One-Step time stamping Richard Cochran
2019-12-16 16:13 ` [PATCH V6 net-next 01/11] net: phy: Introduce helper functions for time stamping support Richard Cochran
2019-12-17 9:01 ` Andrew Lunn
2019-12-16 16:13 ` [PATCH V6 net-next 02/11] net: macvlan: Use the PHY time stamping interface Richard Cochran
2019-12-17 8:59 ` Andrew Lunn
2019-12-16 16:13 ` [PATCH V6 net-next 03/11] net: vlan: " Richard Cochran
2019-12-17 9:01 ` Andrew Lunn
2019-12-16 16:13 ` [PATCH V6 net-next 04/11] net: ethtool: " Richard Cochran
2019-12-17 9:01 ` Andrew Lunn
2019-12-16 16:13 ` [PATCH V6 net-next 05/11] net: netcp_ethss: " Richard Cochran
2019-12-17 9:03 ` Andrew Lunn
2019-12-16 16:13 ` [PATCH V6 net-next 06/11] net: Introduce a new MII " Richard Cochran
2019-12-17 9:21 ` Andrew Lunn [this message]
2019-12-20 14:57 ` Richard Cochran
2019-12-20 15:33 ` Andrew Lunn
2019-12-20 18:01 ` Richard Cochran
2019-12-20 23:11 ` David Miller
2019-12-16 16:13 ` [PATCH V6 net-next 07/11] net: Add a layer for non-PHY MII time stamping drivers Richard Cochran
2019-12-16 16:13 ` [PATCH V6 net-next 08/11] dt-bindings: ptp: Introduce MII time stamping devices Richard Cochran
2019-12-17 15:17 ` Andrew Lunn
2019-12-18 20:03 ` Rob Herring
2019-12-19 4:13 ` Richard Cochran
2019-12-18 20:02 ` Rob Herring
2019-12-16 16:13 ` [PATCH V6 net-next 09/11] net: mdio: of: Register discovered MII time stampers Richard Cochran
2019-12-17 15:19 ` Andrew Lunn
2019-12-18 20:05 ` Rob Herring
2019-12-16 16:13 ` [PATCH V6 net-next 10/11] net: Introduce peer to peer one step PTP time stamping Richard Cochran
2019-12-16 16:13 ` [PATCH V6 net-next 11/11] ptp: Add a driver for InES time stamping IP core Richard Cochran
2019-12-17 0:11 ` Jakub Kicinski
2019-12-17 4:34 ` Richard Cochran
2019-12-17 17:18 ` Jakub Kicinski
2019-12-17 15:33 ` Andrew Lunn
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=20191217092155.GL6994@lunn.ch \
--to=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=jacob.e.keller@intel.com \
--cc=m-karicheri2@ti.com \
--cc=mark.rutland@arm.com \
--cc=mlichvar@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=richardcochran@gmail.com \
--cc=robh+dt@kernel.org \
--cc=w-kwok2@ti.com \
--cc=willemb@google.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).