Changeset eadaeae8 in mainline for uspace/drv/char
- Timestamp:
- 2018-03-21T20:58:49Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 3be9d10
- Parents:
- 874381a
- Location:
- uspace/drv/char
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/char/i8042/i8042.c
r874381a readaeae8 281 281 }; 282 282 283 int irq_kbd_cap;283 cap_irq_handle_t kbd_ihandle; 284 284 rc = register_interrupt_handler(ddf_dev, irq_kbd, 285 i8042_irq_handler, &irq_code, & irq_kbd_cap);285 i8042_irq_handler, &irq_code, &kbd_ihandle); 286 286 if (rc != EOK) { 287 287 ddf_msg(LVL_ERROR, "Failed set handler for kbd: %s.", … … 290 290 } 291 291 292 int irq_mouse_cap;292 cap_irq_handle_t mouse_ihandle; 293 293 rc = register_interrupt_handler(ddf_dev, irq_mouse, 294 i8042_irq_handler, &irq_code, & irq_mouse_cap);294 i8042_irq_handler, &irq_code, &mouse_ihandle); 295 295 if (rc != EOK) { 296 296 ddf_msg(LVL_ERROR, "Failed set handler for mouse: %s.", -
uspace/drv/char/msim-con/msim-con.c
r874381a readaeae8 83 83 { 84 84 ddf_fun_t *fun = NULL; 85 bool subscribed = false;86 85 irq_cmd_t *msim_cmds = NULL; 87 86 errno_t rc; … … 90 89 fibril_mutex_initialize(&con->buf_lock); 91 90 fibril_condvar_initialize(&con->buf_cv); 91 92 con->irq_handle = CAP_NIL; 92 93 93 94 msim_cmds = malloc(sizeof(msim_cmds_proto)); … … 125 126 con->irq_code.cmds = msim_cmds; 126 127 127 async_irq_subscribe(res->irq, msim_irq_handler, con, &con->irq_code, NULL); 128 subscribed = true; 128 rc = async_irq_subscribe(res->irq, msim_irq_handler, con, 129 &con->irq_code, &con->irq_handle); 130 if (rc != EOK) { 131 ddf_msg(LVL_ERROR, "Error registering IRQ code."); 132 goto error; 133 } 129 134 130 135 chardev_srvs_init(&con->cds); … … 142 147 return EOK; 143 148 error: 144 if ( subscribed)145 async_irq_unsubscribe( res->irq);149 if (CAP_HANDLE_VALID(con->irq_handle)) 150 async_irq_unsubscribe(con->irq_handle); 146 151 if (fun != NULL) 147 152 ddf_fun_destroy(fun); -
uspace/drv/char/msim-con/msim-con.h
r874381a readaeae8 68 68 fibril_condvar_t buf_cv; 69 69 ioport8_t *out_reg; 70 cap_irq_handle_t irq_handle; 70 71 } msim_con_t; 71 72 -
uspace/drv/char/ns8250/ns8250.c
r874381a readaeae8 165 165 int irq; 166 166 /** IRQ capability handle */ 167 int irq_cap;167 cap_irq_handle_t irq_handle; 168 168 /** The base i/o address of the devices registers. */ 169 169 uintptr_t io_addr; … … 804 804 */ 805 805 static inline errno_t ns8250_register_interrupt_handler(ns8250_t *ns, 806 cap_ handle_t *handle)806 cap_irq_handle_t *ihandle) 807 807 { 808 808 return register_interrupt_handler(ns->dev, ns->irq, 809 ns8250_interrupt_handler, NULL, handle);809 ns8250_interrupt_handler, NULL, ihandle); 810 810 } 811 811 … … 816 816 static inline errno_t ns8250_unregister_interrupt_handler(ns8250_t *ns) 817 817 { 818 return unregister_interrupt_handler(ns->dev, ns->irq_ cap);818 return unregister_interrupt_handler(ns->dev, ns->irq_handle); 819 819 } 820 820 … … 876 876 877 877 /* Register interrupt handler. */ 878 rc = ns8250_register_interrupt_handler(ns, &ns->irq_cap); 878 ns->irq_handle = CAP_NIL; 879 rc = ns8250_register_interrupt_handler(ns, &ns->irq_handle); 879 880 if (rc != EOK) { 880 881 ddf_msg(LVL_ERROR, "Failed to register interrupt handler."); -
uspace/drv/char/pl050/pl050.c
r874381a readaeae8 213 213 pl050->regs = regs; 214 214 215 int irq_cap;215 cap_irq_handle_t ihandle; 216 216 rc = register_interrupt_handler(pl050->dev, 217 res.irqs.irqs[0], pl050_interrupt, &pl050_irq_code, &i rq_cap);217 res.irqs.irqs[0], pl050_interrupt, &pl050_irq_code, &ihandle); 218 218 if (rc != EOK) { 219 219 ddf_msg(LVL_ERROR, "Failed registering interrupt handler. (%s)",
Note:
See TracChangeset
for help on using the changeset viewer.