Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/device/src/devman.c

    redeee9f r8300c72  
    11/*
     2 * Copyright (c) 2025 Jiri Svoboda
    23 * Copyright (c) 2007 Josef Cejka
    3  * Copyright (c) 2013 Jiri Svoboda
    44 * Copyright (c) 2010 Lenka Trochtova
    55 * All rights reserved.
     
    343343}
    344344
     345errno_t devman_drv_fun_quiesce(devman_handle_t funh)
     346{
     347        async_exch_t *exch = devman_exchange_begin(INTERFACE_DDF_DRIVER);
     348        if (exch == NULL)
     349                return ENOMEM;
     350
     351        errno_t retval = async_req_1_0(exch, DEVMAN_DRV_FUN_QUIESCE, funh);
     352
     353        devman_exchange_end(exch);
     354        return retval;
     355}
     356
     357errno_t devman_drv_fun_wait_stable(devman_handle_t funh)
     358{
     359        async_exch_t *exch = devman_exchange_begin(INTERFACE_DDF_DRIVER);
     360        if (exch == NULL)
     361                return ENOMEM;
     362
     363        errno_t retval = async_req_1_0(exch, DEVMAN_DRV_FUN_WAIT_STABLE, funh);
     364
     365        devman_exchange_end(exch);
     366        return retval;
     367}
     368
    345369async_sess_t *devman_parent_device_connect(devman_handle_t handle,
    346370    unsigned int flags)
     
    494518}
    495519
     520errno_t devman_fun_quiesce(devman_handle_t funh)
     521{
     522        async_exch_t *exch = devman_exchange_begin(INTERFACE_DDF_CLIENT);
     523        if (exch == NULL)
     524                return ENOMEM;
     525
     526        errno_t retval = async_req_1_0(exch, DEVMAN_FUN_QUIESCE, funh);
     527
     528        devman_exchange_end(exch);
     529        return retval;
     530}
     531
    496532static errno_t devman_get_handles_once(sysarg_t method, sysarg_t arg1,
    497533    devman_handle_t *handle_buf, size_t buf_size, size_t *act_size)
     
    620656}
    621657
     658errno_t devman_quiesce_devices(const char *path)
     659{
     660        devman_handle_t funh;
     661        errno_t rc;
     662
     663        funh = 0;
     664        rc = devman_fun_get_handle(path, &funh, 0);
     665        if (rc != EOK)
     666                return rc;
     667
     668        return devman_fun_quiesce(funh);
     669}
     670
    622671errno_t devman_get_drivers(devman_handle_t **drvs,
    623672    size_t *count)
Note: See TracChangeset for help on using the changeset viewer.