Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/device/hw_res.c

    r38d150e rb7fd2a0  
    3838#include <stdlib.h>
    3939
    40 int hw_res_get_resource_list(async_sess_t *sess,
     40errno_t hw_res_get_resource_list(async_sess_t *sess,
    4141    hw_resource_list_t *hw_resources)
    4242{
     
    4545        async_exch_t *exch = async_exchange_begin(sess);
    4646       
    47         int rc = async_req_1_1(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
     47        errno_t rc = async_req_1_1(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
    4848            HW_RES_GET_RESOURCE_LIST, &count);
    4949       
     
    7575}
    7676
    77 int hw_res_enable_interrupt(async_sess_t *sess, int irq)
     77errno_t hw_res_enable_interrupt(async_sess_t *sess, int irq)
    7878{
    7979        async_exch_t *exch = async_exchange_begin(sess);
    8080       
    81         int rc = async_req_2_0(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
     81        errno_t rc = async_req_2_0(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
    8282            HW_RES_ENABLE_INTERRUPT, irq);
    8383        async_exchange_end(exch);
     
    8686}
    8787
    88 int hw_res_disable_interrupt(async_sess_t *sess, int irq)
     88errno_t hw_res_disable_interrupt(async_sess_t *sess, int irq)
    8989{
    9090        async_exch_t *exch = async_exchange_begin(sess);
    9191       
    92         int rc = async_req_2_0(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
     92        errno_t rc = async_req_2_0(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
    9393            HW_RES_DISABLE_INTERRUPT, irq);
    9494        async_exchange_end(exch);
     
    9797}
    9898
    99 int hw_res_clear_interrupt(async_sess_t *sess, int irq)
     99errno_t hw_res_clear_interrupt(async_sess_t *sess, int irq)
    100100{
    101101        async_exch_t *exch = async_exchange_begin(sess);
    102102       
    103         int rc = async_req_2_0(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
     103        errno_t rc = async_req_2_0(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
    104104            HW_RES_CLEAR_INTERRUPT, irq);
    105105        async_exchange_end(exch);
     
    122122 *
    123123 */
    124 int hw_res_dma_channel_setup(async_sess_t *sess,
     124errno_t hw_res_dma_channel_setup(async_sess_t *sess,
    125125    unsigned channel, uint32_t pa, uint32_t size, uint8_t mode)
    126126{
     
    128128       
    129129        const uint32_t packed = (channel & 0xffff) | (mode << 16);
    130         const int ret = async_req_4_0(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
     130        const errno_t ret = async_req_4_0(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
    131131            HW_RES_DMA_CHANNEL_SETUP, packed, pa, size);
    132132       
     
    140140 * @param channel DMA channel.
    141141 *
    142  * @return Number of bytes remaining in the buffer if positive.
    143  * @return Error code if negative.
     142 * @param[out] rem Number of bytes remaining in the buffer if positive.
     143 *
     144 * @return Error code.
    144145 *
    145146 */
    146 int hw_res_dma_channel_remain(async_sess_t *sess, unsigned channel)
     147errno_t hw_res_dma_channel_remain(async_sess_t *sess, unsigned channel, size_t *rem)
    147148{
    148149        async_exch_t *exch = async_exchange_begin(sess);
    149150       
    150151        sysarg_t remain;
    151         const int ret = async_req_2_1(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
     152        const errno_t ret = async_req_2_1(exch, DEV_IFACE_ID(HW_RES_DEV_IFACE),
    152153            HW_RES_DMA_CHANNEL_REMAIN, channel, &remain);
    153154       
     
    155156       
    156157        if (ret == EOK)
    157                 return remain;
     158                *rem = remain;
    158159       
    159160        return ret;
Note: See TracChangeset for help on using the changeset viewer.