Changeset 7de5f12 in mainline for uspace/drv/char/msim-con/main.c
- Timestamp:
- 2017-11-15T20:23:50Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6ac1243d, 7f4937e
- Parents:
- e7a8bd2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/char/msim-con/main.c
re7a8bd2 r7de5f12 35 35 #include <ddf/driver.h> 36 36 #include <ddf/log.h> 37 #include <device/hw_res_parsed.h> 37 38 #include <errno.h> 38 39 #include <stdio.h> … … 61 62 }; 62 63 64 static int msim_con_get_res(ddf_dev_t *dev, msim_con_res_t *res) 65 { 66 async_sess_t *parent_sess; 67 hw_res_list_parsed_t hw_res; 68 int rc; 69 70 parent_sess = ddf_dev_parent_sess_get(dev); 71 if (parent_sess == NULL) 72 return ENOMEM; 73 74 hw_res_list_parsed_init(&hw_res); 75 rc = hw_res_get_list_parsed(parent_sess, &hw_res, 0); 76 if (rc != EOK) 77 return rc; 78 79 if (hw_res.mem_ranges.count != 1) { 80 rc = EINVAL; 81 goto error; 82 } 83 84 res->base = RNGABS(hw_res.mem_ranges.ranges[0]); 85 86 if (hw_res.irqs.count != 1) { 87 rc = EINVAL; 88 goto error; 89 } 90 91 res->irq = hw_res.irqs.irqs[0]; 92 93 return EOK; 94 error: 95 hw_res_list_parsed_clean(&hw_res); 96 return rc; 97 } 98 63 99 static int msim_con_dev_add(ddf_dev_t *dev) 64 100 { 65 101 msim_con_t *msim_con; 102 msim_con_res_t res; 103 int rc; 66 104 67 105 ddf_msg(LVL_DEBUG, "msim_con_dev_add(%p)", dev); 106 68 107 msim_con = ddf_dev_data_alloc(dev, sizeof(msim_con_t)); 69 108 if (msim_con == NULL) { … … 74 113 msim_con->dev = dev; 75 114 76 return msim_con_add(msim_con); 115 rc = msim_con_get_res(dev, &res); 116 if (rc != EOK) { 117 ddf_msg(LVL_ERROR, "Failed getting hardware resource list.\n"); 118 return EIO; 119 } 120 121 return msim_con_add(msim_con, &res); 77 122 } 78 123
Note:
See TracChangeset
for help on using the changeset viewer.