Changes in uspace/drv/char/ns8250/ns8250.c [8820544:956d4281] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/char/ns8250/ns8250.c
r8820544 r956d4281 57 57 #include <ops/char_dev.h> 58 58 59 #include <irc.h> 59 #include <ns.h> 60 #include <ipc/services.h> 61 #include <ipc/irc.h> 60 62 #include <device/hw_res.h> 61 63 #include <ipc/serial_ctl.h> … … 486 488 static int ns8250_interrupt_enable(ns8250_t *ns) 487 489 { 488 /* Enable interrupt using IRC service. */ 489 int rc = irc_enable_interrupt(ns->irq); 490 if (rc != EOK) 490 /* 491 * Enable interrupt using IRC service. 492 * TODO: This is a temporary solution until the device framework 493 * takes care of this itself. 494 */ 495 async_sess_t *irc_sess = service_connect_blocking(EXCHANGE_SERIALIZE, 496 SERVICE_IRC, 0, 0); 497 if (!irc_sess) { 491 498 return EIO; 492 499 } 500 501 async_exch_t *exch = async_exchange_begin(irc_sess); 502 if (!exch) { 503 return EIO; 504 } 505 async_msg_1(exch, IRC_ENABLE_INTERRUPT, ns->irq); 506 async_exchange_end(exch); 507 493 508 /* Read LSR to clear possible previous LSR interrupt */ 494 509 pio_read_8(&ns->regs->lsr); 495 510 496 511 /* Enable interrupt on the serial port. */ 497 512 ns8250_port_interrupts_enable(ns->regs); … … 764 779 * data and reading the line status register. 765 780 * 766 * @param dev The serial port device. 767 * 768 */ 769 static inline void ns8250_interrupt_handler(ipc_callid_t iid, ipc_call_t *icall, 770 ddf_dev_t *dev) 781 * @param dev The serial port device. 782 */ 783 static inline void ns8250_interrupt_handler(ddf_dev_t *dev, ipc_callid_t iid, 784 ipc_call_t *icall) 771 785 { 772 786 ns8250_t *ns = dev_ns8250(dev);
Note:
See TracChangeset
for help on using the changeset viewer.