• Patrick Mochel's avatar
    Introduce struct subsystem. · a6c066de
    Patrick Mochel authored
    A struct subsystem is basically a collection of objects of a certain type,
    and some callbacks to operate on objects of that type. 
    
    subsystems contain embedded kobjects themselves, and have a similar set of 
    library routines that kobjects do, which are mostly just wrappers for the
    correlating kobject routines. 
    
    kobjects are inserted in depth-first order into their subsystem's list of 
    objects. Orphan kobjects are also given foster parents that point to their
    subsystem. This provides a bit more rigidity in the hierarchy, and disallows
    any orphan kobjects.
    
    When an object is unregistered, it is removed from its subsystem's list. When
    the objects' refcount hits 0, the subsystem's ->release() callback is called. 
    
    Documentation describing the objects and the interfaces has also been added.
    a6c066de
kobject.c 3.59 KB