Changeset d51838f in mainline for uspace/drv/char/ns8250/ns8250.c
- Timestamp:
- 2017-10-14T22:49:18Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 75911d24
- Parents:
- ce732e74
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/char/ns8250/ns8250.c
rce732e74 rd51838f 55 55 #include <ops/char_dev.h> 56 56 57 #include <irc.h>58 57 #include <device/hw_res.h> 59 58 #include <ipc/serial_ctl.h> … … 154 153 /** DDF function node */ 155 154 ddf_fun_t *fun; 155 /** Parent session */ 156 async_sess_t *parent_sess; 156 157 /** I/O registers **/ 157 158 ns8250_regs_t *regs; … … 382 383 static int ns8250_dev_initialize(ns8250_t *ns) 383 384 { 384 async_sess_t *parent_sess;385 385 int ret = EOK; 386 386 … … 390 390 memset(&hw_resources, 0, sizeof(hw_resource_list_t)); 391 391 392 /* Connect to the parent's driver. */393 parent_sess = ddf_dev_parent_sess_get(ns->dev);394 if (parent_sess == NULL) {395 ddf_msg(LVL_ERROR, "Failed to connect to parent driver of "396 "device %s.", ddf_dev_get_name(ns->dev));397 ret = ENOENT;398 goto failed;399 }400 401 392 /* Get hw resources. */ 402 ret = hw_res_get_resource_list( parent_sess, &hw_resources);393 ret = hw_res_get_resource_list(ns->parent_sess, &hw_resources); 403 394 if (ret != EOK) { 404 395 ddf_msg(LVL_ERROR, "Failed to get HW resources for device " … … 487 478 { 488 479 /* Enable interrupt using IRC service. */ 489 int rc = irc_enable_interrupt(ns->irq);480 int rc = hw_res_enable_interrupt(ns->parent_sess, ns->irq); 490 481 if (rc != EOK) 491 482 return EIO; … … 780 771 781 772 ns8250_read_from_device(ns); 782 irc_clear_interrupt(ns->irq);773 hw_res_clear_interrupt(ns->parent_sess, ns->irq); 783 774 } 784 775 … … 829 820 fibril_condvar_initialize(&ns->input_buffer_available); 830 821 ns->dev = dev; 822 823 ns->parent_sess = ddf_dev_parent_sess_get(ns->dev); 824 if (ns->parent_sess == NULL) { 825 ddf_msg(LVL_ERROR, "Failed to connect to parent driver of " 826 "device %s.", ddf_dev_get_name(ns->dev)); 827 rc = EIO; 828 goto fail; 829 } 831 830 832 831 rc = ns8250_dev_initialize(ns);
Note:
See TracChangeset
for help on using the changeset viewer.