Changeset 7a252ec8 in mainline for uspace/lib/drv/generic/remote_res.c
- Timestamp:
- 2010-10-21T20:13:40Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 848e3d15
- Parents:
- a79d88d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/drv/generic/remote_res.c
ra79d88d r7a252ec8 1 1 /* 2 * Copyright (c) 2010 Lenka Trochtova 2 * Copyright (c) 2010 Lenka Trochtova 3 3 * All rights reserved. 4 4 * … … 40 40 #include "resource.h" 41 41 42 43 static void remote_res_get_resources(device_t *dev, void *iface, ipc_callid_t callid, ipc_call_t *call); 44 static void remote_res_enable_interrupt(device_t *dev, void *iface, ipc_callid_t callid, ipc_call_t *call); 42 static void remote_res_get_resources(device_t *, void *, ipc_callid_t, 43 ipc_call_t *); 44 static void remote_res_enable_interrupt(device_t *, void *, ipc_callid_t, 45 ipc_call_t *); 45 46 46 47 static remote_iface_func_ptr_t remote_res_iface_ops [] = { 47 48 &remote_res_get_resources, 48 &remote_res_enable_interrupt 49 }; 50 49 &remote_res_enable_interrupt 50 }; 51 51 52 remote_iface_t remote_res_iface = { 52 .method_count = sizeof(remote_res_iface_ops) / sizeof(remote_iface_func_ptr_t), 53 .method_count = sizeof(remote_res_iface_ops) / 54 sizeof(remote_iface_func_ptr_t), 53 55 .methods = remote_res_iface_ops 54 56 }; 55 57 56 static void remote_res_enable_interrupt(device_t *dev, void *iface, ipc_callid_t callid, ipc_call_t *call) 58 static void remote_res_enable_interrupt(device_t *dev, void *iface, 59 ipc_callid_t callid, ipc_call_t *call) 57 60 { 58 resource_iface_t *ires = (resource_iface_t *) iface;61 resource_iface_t *ires = (resource_iface_t *) iface; 59 62 60 if (NULL == ires->enable_interrupt) {63 if (NULL == ires->enable_interrupt) 61 64 ipc_answer_0(callid, ENOTSUP); 62 } else if (ires->enable_interrupt(dev)) {65 else if (ires->enable_interrupt(dev)) 63 66 ipc_answer_0(callid, EOK); 64 } else {67 else 65 68 ipc_answer_0(callid, EREFUSED); 66 }67 69 } 68 70 69 static void remote_res_get_resources(device_t *dev, void *iface, ipc_callid_t callid, ipc_call_t *call) 71 static void remote_res_get_resources(device_t *dev, void *iface, 72 ipc_callid_t callid, ipc_call_t *call) 70 73 { 71 resource_iface_t *ires = (resource_iface_t *) iface;74 resource_iface_t *ires = (resource_iface_t *) iface; 72 75 if (NULL == ires->get_resources) { 73 76 ipc_answer_0(callid, ENOTSUP); … … 75 78 } 76 79 77 hw_resource_list_t *hw_resources = ires->get_resources(dev); 80 hw_resource_list_t *hw_resources = ires->get_resources(dev); 78 81 if (NULL == hw_resources){ 79 82 ipc_answer_0(callid, ENOENT); … … 85 88 size_t len; 86 89 if (!async_data_read_receive(&callid, &len)) { 87 / / protocol error - the recipient is not accepting data90 /* protocol error - the recipient is not accepting data */ 88 91 return; 89 92 } 90 93 async_data_read_finalize(callid, hw_resources->resources, len); 91 94 } 92 93 94 /** 95 96 /** 95 97 * @} 96 98 */
Note:
See TracChangeset
for help on using the changeset viewer.