• Alexander Viro's avatar
    [PATCH] sparse: sound/core/pcm* annotation · 5851bd06
    Alexander Viro authored
    The tricky part here was an iterator that used to take a callback and
    argument for that callback as parameters.  Iterator itself didn't care
    what type that argument had been; it's entirely up to callback.  The
    thing is, two callbacks expect (and get) char __user * while other two
    expect (and also get) char __user **.
    
    Iterator used to use void * as "opaque data"; I've switched it to
    unsigned long.  Note that there was nothing that said "it's a pointer" -
    use of callback that would take e.g.  int is also perfectly legitimate. 
    
    The rest is triviali annotation.
    5851bd06
pcm_native.c 88.8 KB