priv->pps[i].available = true;
        }
 
-       if (priv->plat->ptp_max_adj)
-               stmmac_ptp_clock_ops.max_adj = priv->plat->ptp_max_adj;
-
        /* Calculate the clock domain crossing (CDC) error if necessary */
        priv->plat->cdc_error_adj = 0;
        if (priv->plat->has_gmac4 && priv->plat->clk_ptp_rate)
                priv->plat->cdc_error_adj = (2 * NSEC_PER_SEC) / priv->plat->clk_ptp_rate;
 
-       stmmac_ptp_clock_ops.n_per_out = priv->dma_cap.pps_out_num;
-       stmmac_ptp_clock_ops.n_ext_ts = priv->dma_cap.aux_snapshot_n;
+       priv->ptp_clock_ops = stmmac_ptp_clock_ops;
+
+       priv->ptp_clock_ops.n_per_out = priv->dma_cap.pps_out_num;
+       priv->ptp_clock_ops.n_ext_ts = priv->dma_cap.aux_snapshot_n;
+
+       if (priv->plat->ptp_max_adj)
+               priv->ptp_clock_ops.max_adj = priv->plat->ptp_max_adj;
 
        rwlock_init(&priv->ptp_lock);
        mutex_init(&priv->aux_ts_lock);
-       priv->ptp_clock_ops = stmmac_ptp_clock_ops;
 
        priv->ptp_clock = ptp_clock_register(&priv->ptp_clock_ops,
                                             priv->device);