net: dsa: sja1105: Get rid of global declaration of struct ptp_clock_info
We need priv->ptp_caps to hold a structure and not just a pointer, because we use container_of in the various PTP callbacks. Therefore, the sja1105_ptp_caps structure declared in the global memory of the driver serves no further purpose after copying it into priv->ptp_caps. So just populate priv->ptp_caps with the needed operations and remove sja1105_ptp_caps. Signed-off-by: Vladimir Oltean <olteanv@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a98d62c3ee
commit
5b3ae43ab1
@ -344,29 +344,28 @@ static void sja1105_ptp_overflow_check(struct work_struct *work)
|
||||
schedule_delayed_work(&priv->refresh_work, SJA1105_REFRESH_INTERVAL);
|
||||
}
|
||||
|
||||
static const struct ptp_clock_info sja1105_ptp_caps = {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "SJA1105 PHC",
|
||||
.adjfine = sja1105_ptp_adjfine,
|
||||
.adjtime = sja1105_ptp_adjtime,
|
||||
.gettime64 = sja1105_ptp_gettime,
|
||||
.settime64 = sja1105_ptp_settime,
|
||||
.max_adj = SJA1105_MAX_ADJ_PPB,
|
||||
};
|
||||
|
||||
int sja1105_ptp_clock_register(struct sja1105_private *priv)
|
||||
{
|
||||
struct dsa_switch *ds = priv->ds;
|
||||
|
||||
/* Set up the cycle counter */
|
||||
priv->tstamp_cc = (struct cyclecounter) {
|
||||
.read = sja1105_ptptsclk_read,
|
||||
.mask = CYCLECOUNTER_MASK(64),
|
||||
.shift = SJA1105_CC_SHIFT,
|
||||
.mult = SJA1105_CC_MULT,
|
||||
.read = sja1105_ptptsclk_read,
|
||||
.mask = CYCLECOUNTER_MASK(64),
|
||||
.shift = SJA1105_CC_SHIFT,
|
||||
.mult = SJA1105_CC_MULT,
|
||||
};
|
||||
priv->ptp_caps = (struct ptp_clock_info) {
|
||||
.owner = THIS_MODULE,
|
||||
.name = "SJA1105 PHC",
|
||||
.adjfine = sja1105_ptp_adjfine,
|
||||
.adjtime = sja1105_ptp_adjtime,
|
||||
.gettime64 = sja1105_ptp_gettime,
|
||||
.settime64 = sja1105_ptp_settime,
|
||||
.max_adj = SJA1105_MAX_ADJ_PPB,
|
||||
};
|
||||
|
||||
mutex_init(&priv->ptp_lock);
|
||||
priv->ptp_caps = sja1105_ptp_caps;
|
||||
|
||||
priv->clock = ptp_clock_register(&priv->ptp_caps, ds->dev);
|
||||
if (IS_ERR_OR_NULL(priv->clock))
|
||||
|
Loading…
Reference in New Issue
Block a user