Changeset 984a9ba in mainline for uspace/drv/block


Ignore:
Timestamp:
2018-07-05T09:34:09Z (7 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
63d46341
Parents:
76f566d
Message:

do not expose the call capability handler from the async framework

Keep the call capability handler encapsulated within the async framework
and do not expose it explicitly via its API. Use the pointer to
ipc_call_t as the sole object identifying an IPC call in the code that
uses the async framework.

This plugs a major leak in the abstraction and also simplifies both the
async framework (slightly) and all IPC servers.

Location:
uspace/drv/block
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/block/ata_bd/main.c

    r76f566d r984a9ba  
    4747static errno_t ata_fun_offline(ddf_fun_t *fun);
    4848
    49 static void ata_bd_connection(cap_call_handle_t, ipc_call_t *, void *);
     49static void ata_bd_connection(ipc_call_t *, void *);
    5050
    5151static driver_ops_t driver_ops = {
     
    313313
    314314/** Block device connection handler */
    315 static void ata_bd_connection(cap_call_handle_t icall_handle, ipc_call_t *icall, void *arg)
     315static void ata_bd_connection(ipc_call_t *icall, void *arg)
    316316{
    317317        ata_fun_t *afun;
    318318
    319319        afun = (ata_fun_t *) ddf_fun_data_get((ddf_fun_t *)arg);
    320         bd_conn(icall_handle, icall, &afun->bds);
     320        bd_conn(icall, &afun->bds);
    321321}
    322322
  • uspace/drv/block/ddisk/ddisk.c

    r76f566d r984a9ba  
    6262static errno_t ddisk_fun_offline(ddf_fun_t *);
    6363
    64 static void ddisk_bd_connection(cap_call_handle_t, ipc_call_t *, void *);
     64static void ddisk_bd_connection(ipc_call_t *, void *);
    6565
    6666static void ddisk_irq_handler(ipc_call_t *, ddf_dev_t *);
     
    585585
    586586/** Block device connection handler */
    587 static void ddisk_bd_connection(cap_call_handle_t icall_handle, ipc_call_t *icall, void *arg)
     587static void ddisk_bd_connection(ipc_call_t *icall, void *arg)
    588588{
    589589        ddisk_t *ddisk;
     
    591591
    592592        ddisk = (ddisk_t *) ddf_dev_data_get(ddf_fun_get_dev(fun));
    593         bd_conn(icall_handle, icall, &ddisk->bds);
     593        bd_conn(icall, &ddisk->bds);
    594594}
    595595
  • uspace/drv/block/usbmast/main.c

    r76f566d r984a9ba  
    7979
    8080static errno_t usbmast_fun_create(usbmast_dev_t *mdev, unsigned lun);
    81 static void usbmast_bd_connection(cap_call_handle_t icall_handle, ipc_call_t *icall,
    82     void *arg);
     81static void usbmast_bd_connection(ipc_call_t *icall, void *arg);
    8382
    8483static errno_t usbmast_bd_open(bd_srvs_t *, bd_srv_t *);
     
    317316
    318317/** Blockdev client connection handler. */
    319 static void usbmast_bd_connection(cap_call_handle_t icall_handle, ipc_call_t *icall,
    320     void *arg)
     318static void usbmast_bd_connection(ipc_call_t *icall, void *arg)
    321319{
    322320        usbmast_fun_t *mfun;
    323321
    324322        mfun = (usbmast_fun_t *) ddf_fun_data_get((ddf_fun_t *)arg);
    325         bd_conn(icall_handle, icall, &mfun->bds);
     323        bd_conn(icall, &mfun->bds);
    326324}
    327325
Note: See TracChangeset for help on using the changeset viewer.