On Tue, Jun 23, 2020 at 04:30:12PM +0200, Antoine Tenart wrote: > @@ -978,9 +1483,32 @@ static int __vsc8584_init_ptp(struct phy_device *phydev) > > vsc85xx_ts_eth_cmp1_sig(phydev); > > + vsc8531->mii_ts.rxtstamp = vsc85xx_rxtstamp; > + vsc8531->mii_ts.txtstamp = vsc85xx_txtstamp; > + vsc8531->mii_ts.hwtstamp = vsc85xx_hwtstamp; > + vsc8531->mii_ts.ts_info = vsc85xx_ts_info; > + phydev->mii_ts = &vsc8531->mii_ts; > + > + memcpy(&vsc8531->ptp->caps, &vsc85xx_clk_caps, > sizeof(vsc85xx_clk_caps)); > + > + vsc8531->ptp->ptp_clock = ptp_clock_register(&vsc8531->ptp->caps, > + &phydev->mdio.dev); > + if (IS_ERR(vsc8531->ptp->ptp_clock)) > + return PTR_ERR(vsc8531->ptp->ptp_clock);
The ptp_clock_register() method can also return NULL: * Returns a valid pointer on success or PTR_ERR on failure. If PHC * support is missing at the configuration level, this function * returns NULL, and drivers are expected to gracefully handle that * case separately. Thanks, Richard