• Daniel Latypov's avatar
    kunit: split resource API from test.h into new resource.h · 61695f8c
    Daniel Latypov authored
    Background:
    Currently, a reader looking at kunit/test.h will find the file is quite
    long, and the first meaty comment is a doc comment about struct
    kunit_resource.
    
    Most users will not ever use the KUnit resource API directly.
    They'll use kunit_kmalloc() and friends, or decide it's simpler to do
    cleanups via labels (it often can be) instead of figuring out how to use
    the API.
    
    It's also logically separate from everything else in test.h.
    Removing it from the file doesn't cause any compilation errors (since
    struct kunit has `struct list_head resources` to store them).
    
    This commit:
    Let's move it into a kunit/resource.h file and give it a separate page
    in the docs, kunit/api/resource.rst.
    
    We include resource.h at the bottom of test.h since
    * don't want to force existing users to add a new include if they use the API
    * it accesses `lock` inside `struct kunit` in a inline func
      * so we can't just forward declare, and the alternatives require
        uninlining the func, adding hepers to lock/unlock, or other more
        invasive changes.
    
    Now the first big comment in test.h is about kunit_case, which is a lot
    more relevant to what a new user wants to know.
    
    A side effect of this is git blame won't properly track history by
    default, users need to run
    $ git blame -L ,1 -C17 include/kunit/resource.h
    Signed-off-by: default avatarDaniel Latypov <dlatypov@google.com>
    Reviewed-by: default avatarDavid Gow <davidgow@google.com>
    Reviewed-by: default avatarBrendan Higgins <brendanhiggins@google.com>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    61695f8c
index.rst 381 Bytes