Changeset d51838f in mainline for uspace/drv/char
- Timestamp:
- 2017-10-14T22:49:18Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 75911d24
- Parents:
- ce732e74
- Location:
- uspace/drv/char
- Files:
-
- 2 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); -
uspace/drv/char/pl050/pl050.c
rce732e74 rd51838f 38 38 #include <ddf/interrupt.h> 39 39 #include <ddf/log.h> 40 #include <device/hw_res.h> 40 41 #include <device/hw_res_parsed.h> 41 42 #include <io/chardev_srv.h> 42 #include <irc.h>43 43 44 44 #include "pl050_hw.h" … … 221 221 } 222 222 223 rc = irc_enable_interrupt(res.irqs.irqs[0]);223 rc = hw_res_enable_interrupt(pl050->parent_sess, res.irqs.irqs[0]); 224 224 if (rc != EOK) { 225 225 ddf_msg(LVL_ERROR, "Failed enabling interrupt. (%d)", rc);
Note:
See TracChangeset
for help on using the changeset viewer.