• Johannes Berg's avatar
    genetlink: introduce pre_doit/post_doit hooks · ff4c92d8
    Johannes Berg authored
    Each family may have some amount of boilerplate
    locking code that applies to most, or even all,
    commands.
    
    This allows a family to handle such things in
    a more generic way, by allowing it to
     a) include private flags in each operation
     b) specify a pre_doit hook that is called,
        before an operation's doit() callback and
        may return an error directly,
     c) specify a post_doit hook that can undo
        locking or similar things done by pre_doit,
        and finally
     d) include two private pointers in each info
        struct passed between all these operations
        including doit(). (It's two because I'll
        need two in nl80211 -- can be extended.)
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    ff4c92d8
genetlink.c 21.5 KB