Changeset 19d2ce01 in mainline for uspace/drv/char/sun4v-con/main.c
- Timestamp:
- 2017-11-16T09:51:14Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 92232331
- Parents:
- ce96ec2
- git-author:
- Jiri Svoboda <jiri@…> (2017-11-15 21:50:05)
- git-committer:
- Jiri Svoboda <jiri@…> (2017-11-16 09:51:14)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/char/sun4v-con/main.c
rce96ec2 r19d2ce01 32 32 #include <ddf/driver.h> 33 33 #include <ddf/log.h> 34 #include <device/hw_res_parsed.h> 34 35 #include <errno.h> 35 36 #include <stdio.h> … … 58 59 }; 59 60 61 static int sun4v_con_get_res(ddf_dev_t *dev, sun4v_con_res_t *res) 62 { 63 async_sess_t *parent_sess; 64 hw_res_list_parsed_t hw_res; 65 int rc; 66 67 parent_sess = ddf_dev_parent_sess_get(dev); 68 if (parent_sess == NULL) 69 return ENOMEM; 70 71 hw_res_list_parsed_init(&hw_res); 72 rc = hw_res_get_list_parsed(parent_sess, &hw_res, 0); 73 if (rc != EOK) 74 return rc; 75 76 if (hw_res.mem_ranges.count != 1) { 77 rc = EINVAL; 78 goto error; 79 } 80 81 res->base = RNGABS(hw_res.mem_ranges.ranges[0]); 82 return EOK; 83 error: 84 hw_res_list_parsed_clean(&hw_res); 85 return rc; 86 } 87 88 60 89 static int sun4v_con_dev_add(ddf_dev_t *dev) 61 90 { 62 91 sun4v_con_t *sun4v_con; 92 sun4v_con_res_t res; 93 int rc; 63 94 64 95 ddf_msg(LVL_DEBUG, "sun4v_con_dev_add(%p)", dev); … … 71 102 sun4v_con->dev = dev; 72 103 73 return sun4v_con_add(sun4v_con); 104 rc = sun4v_con_get_res(dev, &res); 105 if (rc != EOK) { 106 ddf_msg(LVL_ERROR, "Failed getting hardware resource list.\n"); 107 return EIO; 108 } 109 110 return sun4v_con_add(sun4v_con, &res); 74 111 } 75 112
Note:
See TracChangeset
for help on using the changeset viewer.