Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/devman.c

    r3f57fb7 r1a5b252  
    177177
    178178/** Register running driver with device manager. */
    179 int devman_driver_register(const char *name)
     179int devman_driver_register(const char *name, async_client_conn_t conn)
    180180{
    181181        async_exch_t *exch = devman_exchange_begin_blocking(DEVMAN_DRIVER);
     
    188188       
    189189        if (retval != EOK) {
    190                 async_forget(req);
    191                 return retval;
    192         }
     190                async_wait_for(req, NULL);
     191                return retval;
     192        }
     193       
     194        async_set_client_connection(conn);
    193195       
    194196        exch = devman_exchange_begin(DEVMAN_DRIVER);
    195         async_connect_to_me(exch, 0, 0, 0, NULL, NULL);
     197        async_connect_to_me(exch, 0, 0, 0, conn, NULL);
    196198        devman_exchange_end(exch);
    197199       
     
    226228        if (retval != EOK) {
    227229                devman_exchange_end(exch);
    228                 async_forget(req);
     230                async_wait_for(req, NULL);
    229231                return retval;
    230232        }
     
    242244                if (retval != EOK) {
    243245                        devman_exchange_end(exch);
    244                         async_forget(req2);
    245                         async_forget(req);
     246                        async_wait_for(req2, NULL);
     247                        async_wait_for(req, NULL);
    246248                        return retval;
    247249                }
     
    250252                if (retval != EOK) {
    251253                        devman_exchange_end(exch);
    252                         async_forget(req);
     254                        async_wait_for(req, NULL);
    253255                        return retval;
    254256                }
     
    283285       
    284286        if (retval != EOK) {
    285                 async_forget(req);
     287                async_wait_for(req, NULL);
    286288                return retval;
    287289        }
     
    386388       
    387389        if (retval != EOK) {
    388                 async_forget(req);
     390                async_wait_for(req, NULL);
    389391                return retval;
    390392        }
     
    423425       
    424426        if (dretval != EOK) {
    425                 async_forget(req);
     427                async_wait_for(req, NULL);
    426428                return dretval;
    427429        }
     
    430432        async_wait_for(req, &retval);
    431433       
    432         if (retval != EOK) {
    433                 return retval;
    434         }
     434        if (retval != EOK)
     435                return retval;
    435436       
    436437        act_size = IPC_GET_ARG2(dreply);
     
    453454}
    454455
    455 int devman_fun_get_driver_name(devman_handle_t handle, char *buf, size_t buf_size)
    456 {
    457         return devman_get_str_internal(DEVMAN_FUN_GET_DRIVER_NAME, handle, buf,
    458             buf_size);
    459 }
    460 
    461456int devman_fun_online(devman_handle_t funh)
    462457{
     
    495490       
    496491        if (rc != EOK) {
    497                 async_forget(req);
     492                async_wait_for(req, NULL);
    498493                return rc;
    499494        }
Note: See TracChangeset for help on using the changeset viewer.