Ignore:
File:
1 edited

Legend:

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

    rd1582b50 rb9cc81c6  
    11/*
     2 * Copyright (c) 2025 Jiri Svoboda
    23 * Copyright (c) 2010 Lenka Trochtova
    3  * Copyright (c) 2017 Jiri Svoboda
    44 * All rights reserved.
    55 *
     
    327327
    328328static errno_t ns8250_dev_add(ddf_dev_t *dev);
     329static errno_t ns8250_dev_quiesce(ddf_dev_t *dev);
    329330static errno_t ns8250_dev_remove(ddf_dev_t *dev);
    330331
     
    332333static driver_ops_t ns8250_ops = {
    333334        .dev_add = &ns8250_dev_add,
    334         .dev_remove = &ns8250_dev_remove
     335        .dev_remove = &ns8250_dev_remove,
     336        .dev_quiesce = &ns8250_dev_quiesce
    335337};
    336338
     
    783785 * data and reading the line status register.
    784786 *
    785  * @param dev The serial port device.
    786  *
    787  */
    788 static inline void ns8250_interrupt_handler(ipc_call_t *icall, ddf_dev_t *dev)
    789 {
    790         ns8250_t *ns = dev_ns8250(dev);
     787 * @pram icall IRQ event notificatoin
     788 * @param arg Argument (ns8250_t *)
     789 */
     790static inline void ns8250_interrupt_handler(ipc_call_t *icall, void *arg)
     791{
     792        ns8250_t *ns = (ns8250_t *)arg;
    791793        uint8_t iir = pio_read_8(&ns->regs->iid);
    792794        if ((iir & NS8250_IID_CAUSE_MASK) == NS8250_IID_CAUSE_RXSTATUS) {
     
    809811{
    810812        return register_interrupt_handler(ns->dev, ns->irq,
    811             ns8250_interrupt_handler, NULL, ihandle);
     813            ns8250_interrupt_handler, (void *)ns, NULL, ihandle);
    812814}
    813815
     
    966968}
    967969
     970static errno_t ns8250_dev_quiesce(ddf_dev_t *dev)
     971{
     972        ns8250_t *ns = dev_ns8250(dev);
     973
     974        ns8250_port_interrupts_disable(ns->regs);
     975        return EOK;
     976}
     977
    968978/** Open the device.
    969979 *
Note: See TracChangeset for help on using the changeset viewer.