Re: [PATCH v2 07/13] net: ethernet: ti: cpts: rework initialization/deinitialization

From: Grygorii Strashko
Date: Wed Nov 30 2016 - 13:30:34 EST


Hi Richard,

On 11/29/2016 09:50 AM, Grygorii Strashko wrote:
On 11/29/2016 04:07 AM, Richard Cochran wrote:
On Mon, Nov 28, 2016 at 05:03:31PM -0600, Grygorii Strashko wrote:
+int cpts_register(struct cpts *cpts)
{
int err, i;

- cpts->info = cpts_info;
- spin_lock_init(&cpts->lock);
-
- cpts->cc.read = cpts_systim_read;
- cpts->cc.mask = CLOCKSOURCE_MASK(32);
- cpts->cc_mult = mult;
- cpts->cc.mult = mult;
- cpts->cc.shift = shift;
-
INIT_LIST_HEAD(&cpts->events);
INIT_LIST_HEAD(&cpts->pool);
for (i = 0; i < CPTS_MAX_EVENTS; i++)
list_add(&cpts->pool_data[i].list, &cpts->pool);

- cpts_clk_init(dev, cpts);
+ clk_enable(cpts->refclk);
+
cpts_write32(cpts, CPTS_EN, control);
cpts_write32(cpts, TS_PEND_EN, int_enable);

+ cpts->cc.mult = cpts->cc_mult;

It is not clear why you set cc.mult in a different place than
cc.shift. That isn't logical, but maybe later patches make it
clear...

cc.mult has to be reloaded to original value each time CPTS is registered(restarted)
as it can be modified by cpts_ptp_adjfreq().

While cc.shift is static.



Will it ok if i will add comment here and re-send series?

--
regards,
-grygorii