lkml.org 
[lkml]   [2017]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [alsa-devel] [PATCH 15/27] ALSA: hda - Use timecounter_initialize interface
    On Fri, 15 Dec 2017 17:51:25 +0100,
    Richard Cochran wrote:
    >
    > 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.

    I agree that a proper functional interface would be better, too.
    But not a form like foo(501, 21, 10, 499, 5678).
    In C syntax, you may more easily pass a wrong value than open codes.

    > > > 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.

    I have no good idea ATM, sorry.

    Or can we provide simpler versions for covering some defaults? At
    least reducing the number of arguments would make things easier.


    Takashi

    \
     
     \ /
      Last update: 2017-12-15 18:11    [W:3.205 / U:1.296 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site