Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/char/ns8250/ns8250.c

    r8820544 r956d4281  
    5757#include <ops/char_dev.h>
    5858
    59 #include <irc.h>
     59#include <ns.h>
     60#include <ipc/services.h>
     61#include <ipc/irc.h>
    6062#include <device/hw_res.h>
    6163#include <ipc/serial_ctl.h>
     
    486488static int ns8250_interrupt_enable(ns8250_t *ns)
    487489{
    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) {
    491498                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
    493508        /* Read LSR to clear possible previous LSR interrupt */
    494509        pio_read_8(&ns->regs->lsr);
    495        
     510
    496511        /* Enable interrupt on the serial port. */
    497512        ns8250_port_interrupts_enable(ns->regs);
     
    764779 * data and reading the line status register.
    765780 *
    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 */
     783static inline void ns8250_interrupt_handler(ddf_dev_t *dev, ipc_callid_t iid,
     784    ipc_call_t *icall)
    771785{
    772786        ns8250_t *ns = dev_ns8250(dev);
Note: See TracChangeset for help on using the changeset viewer.