Changeset d0dd7b5 in mainline for uspace/lib/drv/generic/driver.c


Ignore:
Timestamp:
2011-08-18T20:10:47Z (13 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ef7052ec
Parents:
763e0cd
Message:

Work on device removal:

  • properly track service memberships in categories
  • implement loc_service_unregister()
  • ddf_fun_unbind() (limited to exposed functions for now)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/drv/generic/driver.c

    r763e0cd rd0dd7b5  
    582582int ddf_fun_bind(ddf_fun_t *fun)
    583583{
     584        assert(fun->bound == false);
    584585        assert(fun->name != NULL);
    585586       
     
    596597        fun->bound = true;
    597598        return res;
     599}
     600
     601/** Unbind a function node.
     602 *
     603 * Unbind the specified function from the system. This effectively makes
     604 * the function invisible to the system.
     605 *
     606 * @param fun           Function to bind
     607 * @return              EOK on success or negative error code
     608 */
     609int ddf_fun_unbind(ddf_fun_t *fun)
     610{
     611        int res;
     612       
     613        assert(fun->bound == true);
     614       
     615        add_to_functions_list(fun);
     616        res = devman_remove_function(fun->handle);
     617        if (res != EOK)
     618                return res;
     619
     620        remove_from_functions_list(fun);
     621       
     622        fun->bound = false;
     623        return EOK;
    598624}
    599625
Note: See TracChangeset for help on using the changeset viewer.