Loading drivers/char/vme_scc.c +136 −30 Original line number Diff line number Diff line Loading @@ -198,6 +198,7 @@ static void scc_init_portstructs(void) static int mvme147_scc_init(void) { struct scc_port *port; int error; printk(KERN_INFO "SCC: MVME147 Serial Driver\n"); /* Init channel A */ Loading @@ -207,14 +208,23 @@ static int mvme147_scc_init(void) port->datap = port->ctrlp + 1; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(MVME147_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(MVME147_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, "SCC-A TX", port); request_irq(MVME147_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail; error = request_irq(MVME147_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, "SCC-A status", port); request_irq(MVME147_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_a_tx; error = request_irq(MVME147_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, "SCC-A RX", port); request_irq(MVME147_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_stat; error = request_irq(MVME147_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_rx; { SCC_ACCESS_INIT(port); Loading @@ -234,14 +244,23 @@ static int mvme147_scc_init(void) port->datap = port->ctrlp + 1; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(MVME147_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(MVME147_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, "SCC-B TX", port); request_irq(MVME147_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail_free_a_spcond; error = request_irq(MVME147_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, "SCC-B status", port); request_irq(MVME147_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_b_tx; error = request_irq(MVME147_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, "SCC-B RX", port); request_irq(MVME147_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_stat; error = request_irq(MVME147_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_rx; { SCC_ACCESS_INIT(port); Loading @@ -257,6 +276,23 @@ static int mvme147_scc_init(void) scc_init_drivers(); return 0; fail_free_b_rx: free_irq(MVME147_IRQ_SCCB_RX, port); fail_free_b_stat: free_irq(MVME147_IRQ_SCCB_STAT, port); fail_free_b_tx: free_irq(MVME147_IRQ_SCCB_TX, port); fail_free_a_spcond: free_irq(MVME147_IRQ_SCCA_SPCOND, port); fail_free_a_rx: free_irq(MVME147_IRQ_SCCA_RX, port); fail_free_a_stat: free_irq(MVME147_IRQ_SCCA_STAT, port); fail_free_a_tx: free_irq(MVME147_IRQ_SCCA_TX, port); fail: return error; } #endif Loading @@ -265,6 +301,7 @@ static int mvme147_scc_init(void) static int mvme162_scc_init(void) { struct scc_port *port; int error; if (!(mvme16x_config & MVME16x_CONFIG_GOT_SCCA)) return (-ENODEV); Loading @@ -277,14 +314,23 @@ static int mvme162_scc_init(void) port->datap = port->ctrlp + 2; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(MVME162_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(MVME162_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, "SCC-A TX", port); request_irq(MVME162_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail; error = request_irq(MVME162_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, "SCC-A status", port); request_irq(MVME162_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_a_tx; error = request_irq(MVME162_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, "SCC-A RX", port); request_irq(MVME162_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_stat; error = request_irq(MVME162_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_rx; { SCC_ACCESS_INIT(port); Loading @@ -304,14 +350,22 @@ static int mvme162_scc_init(void) port->datap = port->ctrlp + 2; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(MVME162_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(MVME162_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, "SCC-B TX", port); request_irq(MVME162_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail_free_a_spcond; error = request_irq(MVME162_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, "SCC-B status", port); request_irq(MVME162_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_b_tx; error = request_irq(MVME162_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, "SCC-B RX", port); request_irq(MVME162_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_stat; error = request_irq(MVME162_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_rx; { SCC_ACCESS_INIT(port); /* Either channel will do */ Loading @@ -328,6 +382,23 @@ static int mvme162_scc_init(void) scc_init_drivers(); return 0; fail_free_b_rx: free_irq(MVME162_IRQ_SCCB_RX, port); fail_free_b_stat: free_irq(MVME162_IRQ_SCCB_STAT, port); fail_free_b_tx: free_irq(MVME162_IRQ_SCCB_TX, port); fail_free_a_spcond: free_irq(MVME162_IRQ_SCCA_SPCOND, port); fail_free_a_rx: free_irq(MVME162_IRQ_SCCA_RX, port); fail_free_a_stat: free_irq(MVME162_IRQ_SCCA_STAT, port); fail_free_a_tx: free_irq(MVME162_IRQ_SCCA_TX, port); fail: return error; } #endif Loading @@ -336,6 +407,7 @@ static int mvme162_scc_init(void) static int bvme6000_scc_init(void) { struct scc_port *port; int error; printk(KERN_INFO "SCC: BVME6000 Serial Driver\n"); /* Init channel A */ Loading @@ -345,14 +417,23 @@ static int bvme6000_scc_init(void) port->datap = port->ctrlp + 4; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(BVME_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(BVME_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, "SCC-A TX", port); request_irq(BVME_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail; error = request_irq(BVME_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, "SCC-A status", port); request_irq(BVME_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_a_tx; error = request_irq(BVME_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, "SCC-A RX", port); request_irq(BVME_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_stat; error = request_irq(BVME_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_rx; { SCC_ACCESS_INIT(port); Loading @@ -372,14 +453,22 @@ static int bvme6000_scc_init(void) port->datap = port->ctrlp + 4; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(BVME_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(BVME_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, "SCC-B TX", port); request_irq(BVME_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail_free_a_spcond; error = request_irq(BVME_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, "SCC-B status", port); request_irq(BVME_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_b_tx; error = request_irq(BVME_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, "SCC-B RX", port); request_irq(BVME_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_stat; error = request_irq(BVME_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_rx; { SCC_ACCESS_INIT(port); /* Either channel will do */ Loading @@ -393,6 +482,23 @@ static int bvme6000_scc_init(void) scc_init_drivers(); return 0; fail: free_irq(BVME_IRQ_SCCA_STAT, port); fail_free_a_tx: free_irq(BVME_IRQ_SCCA_RX, port); fail_free_a_stat: free_irq(BVME_IRQ_SCCA_SPCOND, port); fail_free_a_rx: free_irq(BVME_IRQ_SCCB_TX, port); fail_free_a_spcond: free_irq(BVME_IRQ_SCCB_STAT, port); fail_free_b_tx: free_irq(BVME_IRQ_SCCB_RX, port); fail_free_b_stat: free_irq(BVME_IRQ_SCCB_SPCOND, port); fail_free_b_rx: return error; } #endif Loading Loading
drivers/char/vme_scc.c +136 −30 Original line number Diff line number Diff line Loading @@ -198,6 +198,7 @@ static void scc_init_portstructs(void) static int mvme147_scc_init(void) { struct scc_port *port; int error; printk(KERN_INFO "SCC: MVME147 Serial Driver\n"); /* Init channel A */ Loading @@ -207,14 +208,23 @@ static int mvme147_scc_init(void) port->datap = port->ctrlp + 1; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(MVME147_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(MVME147_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, "SCC-A TX", port); request_irq(MVME147_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail; error = request_irq(MVME147_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, "SCC-A status", port); request_irq(MVME147_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_a_tx; error = request_irq(MVME147_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, "SCC-A RX", port); request_irq(MVME147_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_stat; error = request_irq(MVME147_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_rx; { SCC_ACCESS_INIT(port); Loading @@ -234,14 +244,23 @@ static int mvme147_scc_init(void) port->datap = port->ctrlp + 1; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(MVME147_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(MVME147_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, "SCC-B TX", port); request_irq(MVME147_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail_free_a_spcond; error = request_irq(MVME147_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, "SCC-B status", port); request_irq(MVME147_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_b_tx; error = request_irq(MVME147_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, "SCC-B RX", port); request_irq(MVME147_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_stat; error = request_irq(MVME147_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_rx; { SCC_ACCESS_INIT(port); Loading @@ -257,6 +276,23 @@ static int mvme147_scc_init(void) scc_init_drivers(); return 0; fail_free_b_rx: free_irq(MVME147_IRQ_SCCB_RX, port); fail_free_b_stat: free_irq(MVME147_IRQ_SCCB_STAT, port); fail_free_b_tx: free_irq(MVME147_IRQ_SCCB_TX, port); fail_free_a_spcond: free_irq(MVME147_IRQ_SCCA_SPCOND, port); fail_free_a_rx: free_irq(MVME147_IRQ_SCCA_RX, port); fail_free_a_stat: free_irq(MVME147_IRQ_SCCA_STAT, port); fail_free_a_tx: free_irq(MVME147_IRQ_SCCA_TX, port); fail: return error; } #endif Loading @@ -265,6 +301,7 @@ static int mvme147_scc_init(void) static int mvme162_scc_init(void) { struct scc_port *port; int error; if (!(mvme16x_config & MVME16x_CONFIG_GOT_SCCA)) return (-ENODEV); Loading @@ -277,14 +314,23 @@ static int mvme162_scc_init(void) port->datap = port->ctrlp + 2; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(MVME162_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(MVME162_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, "SCC-A TX", port); request_irq(MVME162_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail; error = request_irq(MVME162_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, "SCC-A status", port); request_irq(MVME162_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_a_tx; error = request_irq(MVME162_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, "SCC-A RX", port); request_irq(MVME162_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_stat; error = request_irq(MVME162_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_rx; { SCC_ACCESS_INIT(port); Loading @@ -304,14 +350,22 @@ static int mvme162_scc_init(void) port->datap = port->ctrlp + 2; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(MVME162_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(MVME162_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, "SCC-B TX", port); request_irq(MVME162_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail_free_a_spcond; error = request_irq(MVME162_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, "SCC-B status", port); request_irq(MVME162_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_b_tx; error = request_irq(MVME162_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, "SCC-B RX", port); request_irq(MVME162_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_stat; error = request_irq(MVME162_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_rx; { SCC_ACCESS_INIT(port); /* Either channel will do */ Loading @@ -328,6 +382,23 @@ static int mvme162_scc_init(void) scc_init_drivers(); return 0; fail_free_b_rx: free_irq(MVME162_IRQ_SCCB_RX, port); fail_free_b_stat: free_irq(MVME162_IRQ_SCCB_STAT, port); fail_free_b_tx: free_irq(MVME162_IRQ_SCCB_TX, port); fail_free_a_spcond: free_irq(MVME162_IRQ_SCCA_SPCOND, port); fail_free_a_rx: free_irq(MVME162_IRQ_SCCA_RX, port); fail_free_a_stat: free_irq(MVME162_IRQ_SCCA_STAT, port); fail_free_a_tx: free_irq(MVME162_IRQ_SCCA_TX, port); fail: return error; } #endif Loading @@ -336,6 +407,7 @@ static int mvme162_scc_init(void) static int bvme6000_scc_init(void) { struct scc_port *port; int error; printk(KERN_INFO "SCC: BVME6000 Serial Driver\n"); /* Init channel A */ Loading @@ -345,14 +417,23 @@ static int bvme6000_scc_init(void) port->datap = port->ctrlp + 4; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(BVME_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(BVME_IRQ_SCCA_TX, scc_tx_int, IRQF_DISABLED, "SCC-A TX", port); request_irq(BVME_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail; error = request_irq(BVME_IRQ_SCCA_STAT, scc_stat_int, IRQF_DISABLED, "SCC-A status", port); request_irq(BVME_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_a_tx; error = request_irq(BVME_IRQ_SCCA_RX, scc_rx_int, IRQF_DISABLED, "SCC-A RX", port); request_irq(BVME_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_stat; error = request_irq(BVME_IRQ_SCCA_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-A special cond", port); if (error) goto fail_free_a_rx; { SCC_ACCESS_INIT(port); Loading @@ -372,14 +453,22 @@ static int bvme6000_scc_init(void) port->datap = port->ctrlp + 4; port->port_a = &scc_ports[0]; port->port_b = &scc_ports[1]; request_irq(BVME_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, error = request_irq(BVME_IRQ_SCCB_TX, scc_tx_int, IRQF_DISABLED, "SCC-B TX", port); request_irq(BVME_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, if (error) goto fail_free_a_spcond; error = request_irq(BVME_IRQ_SCCB_STAT, scc_stat_int, IRQF_DISABLED, "SCC-B status", port); request_irq(BVME_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, if (error) goto fail_free_b_tx; error = request_irq(BVME_IRQ_SCCB_RX, scc_rx_int, IRQF_DISABLED, "SCC-B RX", port); request_irq(BVME_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_stat; error = request_irq(BVME_IRQ_SCCB_SPCOND, scc_spcond_int, IRQF_DISABLED, "SCC-B special cond", port); if (error) goto fail_free_b_rx; { SCC_ACCESS_INIT(port); /* Either channel will do */ Loading @@ -393,6 +482,23 @@ static int bvme6000_scc_init(void) scc_init_drivers(); return 0; fail: free_irq(BVME_IRQ_SCCA_STAT, port); fail_free_a_tx: free_irq(BVME_IRQ_SCCA_RX, port); fail_free_a_stat: free_irq(BVME_IRQ_SCCA_SPCOND, port); fail_free_a_rx: free_irq(BVME_IRQ_SCCB_TX, port); fail_free_a_spcond: free_irq(BVME_IRQ_SCCB_STAT, port); fail_free_b_tx: free_irq(BVME_IRQ_SCCB_RX, port); fail_free_b_stat: free_irq(BVME_IRQ_SCCB_SPCOND, port); fail_free_b_rx: return error; } #endif Loading