Re: [alsa-devel] [PATCH 15/27] ALSA: hda - Use timecounter_initialize interface

From: Richard Cochran
Date: Fri Dec 15 2017 - 11:51:38 EST


On Fri, Dec 15, 2017 at 12:10:47PM +0100, Takashi Iwai wrote:

> > - struct cyclecounter *cc = &azx_dev->tc.cc;

> > - cc->read = azx_cc_read;
> > - cc->mask = CLOCKSOURCE_MASK(32);

> > - cc->mult = 125; /* saturation after 195 years */
> > - cc->shift = 0;

I want to get away from this mess of open coded structure
initialization and use a proper functional interface instead.

> > nsec = 0; /* audio time is elapsed time since trigger */
> > - timecounter_init(tc, nsec);
> > + timecounter_initialize(tc,
> > + azx_cc_read,
> > + CLOCKSOURCE_MASK(32),
> > + 125, /* saturation after 195 years */
> > + 0,
> > + nsec);
>
> Hmm, a function with so many arguments is difficult to remember and is
> often error-prone. By this transition, it becomes harder to read
> through.

Please suggest a better way.

Thanks,
Richard