Changeset 8e7c9fe in mainline for uspace/drv/char/ns8250/ns8250.c
- Timestamp:
- 2014-09-12T03:45:25Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c53b58e
- Parents:
- 3eb0c85 (diff), 105d8d6 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/char/ns8250/ns8250.c
r3eb0c85 r8e7c9fe 57 57 #include <ops/char_dev.h> 58 58 59 #include <ns.h> 60 #include <ipc/services.h> 61 #include <ipc/irc.h> 59 #include <irc.h> 62 60 #include <device/hw_res.h> 63 61 #include <ipc/serial_ctl.h> … … 488 486 static int ns8250_interrupt_enable(ns8250_t *ns) 489 487 { 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) { 488 /* Enable interrupt using IRC service. */ 489 int rc = irc_enable_interrupt(ns->irq); 490 if (rc != EOK) 498 491 return EIO; 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 492 508 493 /* Read LSR to clear possible previous LSR interrupt */ 509 494 pio_read_8(&ns->regs->lsr); 510 495 511 496 /* Enable interrupt on the serial port. */ 512 497 ns8250_port_interrupts_enable(ns->regs); … … 779 764 * data and reading the line status register. 780 765 * 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) 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) 785 771 { 786 772 ns8250_t *ns = dev_ns8250(dev);
Note:
See TracChangeset
for help on using the changeset viewer.