Loading drivers/dma/hsu/hsu.c +4 −5 Original line number Original line Diff line number Diff line Loading @@ -200,10 +200,9 @@ EXPORT_SYMBOL_GPL(hsu_dma_get_status); * is not a normal timeout interrupt, ie. hsu_dma_get_status() returned 0. * is not a normal timeout interrupt, ie. hsu_dma_get_status() returned 0. * * * Return: * Return: * IRQ_NONE for invalid channel number, IRQ_HANDLED otherwise. * 0 for invalid channel number, 1 otherwise. */ */ irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, int hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, u32 status) u32 status) { { struct hsu_dma_chan *hsuc; struct hsu_dma_chan *hsuc; struct hsu_dma_desc *desc; struct hsu_dma_desc *desc; Loading @@ -211,7 +210,7 @@ irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, /* Sanity check */ /* Sanity check */ if (nr >= chip->hsu->nr_channels) if (nr >= chip->hsu->nr_channels) return IRQ_NONE; return 0; hsuc = &chip->hsu->chan[nr]; hsuc = &chip->hsu->chan[nr]; Loading @@ -230,7 +229,7 @@ irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, } } spin_unlock_irqrestore(&hsuc->vchan.lock, flags); spin_unlock_irqrestore(&hsuc->vchan.lock, flags); return IRQ_HANDLED; return 1; } } EXPORT_SYMBOL_GPL(hsu_dma_do_irq); EXPORT_SYMBOL_GPL(hsu_dma_do_irq); Loading drivers/dma/hsu/pci.c +3 −3 Original line number Original line Diff line number Diff line Loading @@ -29,7 +29,7 @@ static irqreturn_t hsu_pci_irq(int irq, void *dev) u32 dmaisr; u32 dmaisr; u32 status; u32 status; unsigned short i; unsigned short i; irqreturn_t ret = IRQ_NONE; int ret = 0; int err; int err; dmaisr = readl(chip->regs + HSU_PCI_DMAISR); dmaisr = readl(chip->regs + HSU_PCI_DMAISR); Loading @@ -37,14 +37,14 @@ static irqreturn_t hsu_pci_irq(int irq, void *dev) if (dmaisr & 0x1) { if (dmaisr & 0x1) { err = hsu_dma_get_status(chip, i, &status); err = hsu_dma_get_status(chip, i, &status); if (err > 0) if (err > 0) ret |= IRQ_HANDLED; ret |= 1; else if (err == 0) else if (err == 0) ret |= hsu_dma_do_irq(chip, i, status); ret |= hsu_dma_do_irq(chip, i, status); } } dmaisr >>= 1; dmaisr >>= 1; } } return ret; return IRQ_RETVAL(ret); } } static int hsu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) static int hsu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) Loading drivers/tty/serial/8250/8250_mid.c +4 −4 Original line number Original line Diff line number Diff line Loading @@ -99,27 +99,27 @@ static int dnv_handle_irq(struct uart_port *p) struct uart_8250_port *up = up_to_u8250p(p); struct uart_8250_port *up = up_to_u8250p(p); unsigned int fisr = serial_port_in(p, INTEL_MID_UART_DNV_FISR); unsigned int fisr = serial_port_in(p, INTEL_MID_UART_DNV_FISR); u32 status; u32 status; int ret = IRQ_NONE; int ret = 0; int err; int err; if (fisr & BIT(2)) { if (fisr & BIT(2)) { err = hsu_dma_get_status(&mid->dma_chip, 1, &status); err = hsu_dma_get_status(&mid->dma_chip, 1, &status); if (err > 0) { if (err > 0) { serial8250_rx_dma_flush(up); serial8250_rx_dma_flush(up); ret |= IRQ_HANDLED; ret |= 1; } else if (err == 0) } else if (err == 0) ret |= hsu_dma_do_irq(&mid->dma_chip, 1, status); ret |= hsu_dma_do_irq(&mid->dma_chip, 1, status); } } if (fisr & BIT(1)) { if (fisr & BIT(1)) { err = hsu_dma_get_status(&mid->dma_chip, 0, &status); err = hsu_dma_get_status(&mid->dma_chip, 0, &status); if (err > 0) if (err > 0) ret |= IRQ_HANDLED; ret |= 1; else if (err == 0) else if (err == 0) ret |= hsu_dma_do_irq(&mid->dma_chip, 0, status); ret |= hsu_dma_do_irq(&mid->dma_chip, 0, status); } } if (fisr & BIT(0)) if (fisr & BIT(0)) ret |= serial8250_handle_irq(p, serial_port_in(p, UART_IIR)); ret |= serial8250_handle_irq(p, serial_port_in(p, UART_IIR)); return ret; return IRQ_RETVAL(ret); } } #define DNV_DMA_CHAN_OFFSET 0x80 #define DNV_DMA_CHAN_OFFSET 0x80 Loading include/linux/dma/hsu.h +4 −5 Original line number Original line Diff line number Diff line Loading @@ -41,8 +41,7 @@ struct hsu_dma_chip { /* Export to the internal users */ /* Export to the internal users */ int hsu_dma_get_status(struct hsu_dma_chip *chip, unsigned short nr, int hsu_dma_get_status(struct hsu_dma_chip *chip, unsigned short nr, u32 *status); u32 *status); irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, int hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, u32 status); u32 status); /* Export to the platform drivers */ /* Export to the platform drivers */ int hsu_dma_probe(struct hsu_dma_chip *chip); int hsu_dma_probe(struct hsu_dma_chip *chip); Loading @@ -53,10 +52,10 @@ static inline int hsu_dma_get_status(struct hsu_dma_chip *chip, { { return 0; return 0; } } static inline irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, static inline int hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, unsigned short nr, u32 status) u32 status) { { return IRQ_NONE; return 0; } } static inline int hsu_dma_probe(struct hsu_dma_chip *chip) { return -ENODEV; } static inline int hsu_dma_probe(struct hsu_dma_chip *chip) { return -ENODEV; } static inline int hsu_dma_remove(struct hsu_dma_chip *chip) { return 0; } static inline int hsu_dma_remove(struct hsu_dma_chip *chip) { return 0; } Loading Loading
drivers/dma/hsu/hsu.c +4 −5 Original line number Original line Diff line number Diff line Loading @@ -200,10 +200,9 @@ EXPORT_SYMBOL_GPL(hsu_dma_get_status); * is not a normal timeout interrupt, ie. hsu_dma_get_status() returned 0. * is not a normal timeout interrupt, ie. hsu_dma_get_status() returned 0. * * * Return: * Return: * IRQ_NONE for invalid channel number, IRQ_HANDLED otherwise. * 0 for invalid channel number, 1 otherwise. */ */ irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, int hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, u32 status) u32 status) { { struct hsu_dma_chan *hsuc; struct hsu_dma_chan *hsuc; struct hsu_dma_desc *desc; struct hsu_dma_desc *desc; Loading @@ -211,7 +210,7 @@ irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, /* Sanity check */ /* Sanity check */ if (nr >= chip->hsu->nr_channels) if (nr >= chip->hsu->nr_channels) return IRQ_NONE; return 0; hsuc = &chip->hsu->chan[nr]; hsuc = &chip->hsu->chan[nr]; Loading @@ -230,7 +229,7 @@ irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, } } spin_unlock_irqrestore(&hsuc->vchan.lock, flags); spin_unlock_irqrestore(&hsuc->vchan.lock, flags); return IRQ_HANDLED; return 1; } } EXPORT_SYMBOL_GPL(hsu_dma_do_irq); EXPORT_SYMBOL_GPL(hsu_dma_do_irq); Loading
drivers/dma/hsu/pci.c +3 −3 Original line number Original line Diff line number Diff line Loading @@ -29,7 +29,7 @@ static irqreturn_t hsu_pci_irq(int irq, void *dev) u32 dmaisr; u32 dmaisr; u32 status; u32 status; unsigned short i; unsigned short i; irqreturn_t ret = IRQ_NONE; int ret = 0; int err; int err; dmaisr = readl(chip->regs + HSU_PCI_DMAISR); dmaisr = readl(chip->regs + HSU_PCI_DMAISR); Loading @@ -37,14 +37,14 @@ static irqreturn_t hsu_pci_irq(int irq, void *dev) if (dmaisr & 0x1) { if (dmaisr & 0x1) { err = hsu_dma_get_status(chip, i, &status); err = hsu_dma_get_status(chip, i, &status); if (err > 0) if (err > 0) ret |= IRQ_HANDLED; ret |= 1; else if (err == 0) else if (err == 0) ret |= hsu_dma_do_irq(chip, i, status); ret |= hsu_dma_do_irq(chip, i, status); } } dmaisr >>= 1; dmaisr >>= 1; } } return ret; return IRQ_RETVAL(ret); } } static int hsu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) static int hsu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) Loading
drivers/tty/serial/8250/8250_mid.c +4 −4 Original line number Original line Diff line number Diff line Loading @@ -99,27 +99,27 @@ static int dnv_handle_irq(struct uart_port *p) struct uart_8250_port *up = up_to_u8250p(p); struct uart_8250_port *up = up_to_u8250p(p); unsigned int fisr = serial_port_in(p, INTEL_MID_UART_DNV_FISR); unsigned int fisr = serial_port_in(p, INTEL_MID_UART_DNV_FISR); u32 status; u32 status; int ret = IRQ_NONE; int ret = 0; int err; int err; if (fisr & BIT(2)) { if (fisr & BIT(2)) { err = hsu_dma_get_status(&mid->dma_chip, 1, &status); err = hsu_dma_get_status(&mid->dma_chip, 1, &status); if (err > 0) { if (err > 0) { serial8250_rx_dma_flush(up); serial8250_rx_dma_flush(up); ret |= IRQ_HANDLED; ret |= 1; } else if (err == 0) } else if (err == 0) ret |= hsu_dma_do_irq(&mid->dma_chip, 1, status); ret |= hsu_dma_do_irq(&mid->dma_chip, 1, status); } } if (fisr & BIT(1)) { if (fisr & BIT(1)) { err = hsu_dma_get_status(&mid->dma_chip, 0, &status); err = hsu_dma_get_status(&mid->dma_chip, 0, &status); if (err > 0) if (err > 0) ret |= IRQ_HANDLED; ret |= 1; else if (err == 0) else if (err == 0) ret |= hsu_dma_do_irq(&mid->dma_chip, 0, status); ret |= hsu_dma_do_irq(&mid->dma_chip, 0, status); } } if (fisr & BIT(0)) if (fisr & BIT(0)) ret |= serial8250_handle_irq(p, serial_port_in(p, UART_IIR)); ret |= serial8250_handle_irq(p, serial_port_in(p, UART_IIR)); return ret; return IRQ_RETVAL(ret); } } #define DNV_DMA_CHAN_OFFSET 0x80 #define DNV_DMA_CHAN_OFFSET 0x80 Loading
include/linux/dma/hsu.h +4 −5 Original line number Original line Diff line number Diff line Loading @@ -41,8 +41,7 @@ struct hsu_dma_chip { /* Export to the internal users */ /* Export to the internal users */ int hsu_dma_get_status(struct hsu_dma_chip *chip, unsigned short nr, int hsu_dma_get_status(struct hsu_dma_chip *chip, unsigned short nr, u32 *status); u32 *status); irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, int hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, u32 status); u32 status); /* Export to the platform drivers */ /* Export to the platform drivers */ int hsu_dma_probe(struct hsu_dma_chip *chip); int hsu_dma_probe(struct hsu_dma_chip *chip); Loading @@ -53,10 +52,10 @@ static inline int hsu_dma_get_status(struct hsu_dma_chip *chip, { { return 0; return 0; } } static inline irqreturn_t hsu_dma_do_irq(struct hsu_dma_chip *chip, static inline int hsu_dma_do_irq(struct hsu_dma_chip *chip, unsigned short nr, unsigned short nr, u32 status) u32 status) { { return IRQ_NONE; return 0; } } static inline int hsu_dma_probe(struct hsu_dma_chip *chip) { return -ENODEV; } static inline int hsu_dma_probe(struct hsu_dma_chip *chip) { return -ENODEV; } static inline int hsu_dma_remove(struct hsu_dma_chip *chip) { return 0; } static inline int hsu_dma_remove(struct hsu_dma_chip *chip) { return 0; } Loading