|
@@ -94,7 +94,7 @@ static void clps711xuart_enable_ms(struct uart_port *port)
|
|
|
{
|
|
|
}
|
|
|
|
|
|
-static irqreturn_t clps711xuart_int_rx(int irq, void *dev_id)
|
|
|
+static irqreturn_t uart_clps711x_int_rx(int irq, void *dev_id)
|
|
|
{
|
|
|
struct uart_port *port = dev_id;
|
|
|
struct tty_struct *tty = tty_port_tty_get(&port->state->port);
|
|
@@ -149,7 +149,7 @@ static irqreturn_t clps711xuart_int_rx(int irq, void *dev_id)
|
|
|
return IRQ_HANDLED;
|
|
|
}
|
|
|
|
|
|
-static irqreturn_t clps711xuart_int_tx(int irq, void *dev_id)
|
|
|
+static irqreturn_t uart_clps711x_int_tx(int irq, void *dev_id)
|
|
|
{
|
|
|
struct uart_port *port = dev_id;
|
|
|
struct clps711x_port *s = dev_get_drvdata(port->dev);
|
|
@@ -232,23 +232,20 @@ static int clps711xuart_startup(struct uart_port *port)
|
|
|
{
|
|
|
struct clps711x_port *s = dev_get_drvdata(port->dev);
|
|
|
unsigned int syscon;
|
|
|
- int retval;
|
|
|
+ int ret;
|
|
|
|
|
|
s->tx_enabled[port->line] = 1;
|
|
|
-
|
|
|
- /*
|
|
|
- * Allocate the IRQs
|
|
|
- */
|
|
|
- retval = request_irq(TX_IRQ(port), clps711xuart_int_tx, 0,
|
|
|
- "clps711xuart_tx", port);
|
|
|
- if (retval)
|
|
|
- return retval;
|
|
|
-
|
|
|
- retval = request_irq(RX_IRQ(port), clps711xuart_int_rx, 0,
|
|
|
- "clps711xuart_rx", port);
|
|
|
- if (retval) {
|
|
|
- free_irq(TX_IRQ(port), port);
|
|
|
- return retval;
|
|
|
+ /* Allocate the IRQs */
|
|
|
+ ret = devm_request_irq(port->dev, TX_IRQ(port), uart_clps711x_int_tx,
|
|
|
+ 0, UART_CLPS711X_NAME " TX", port);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+
|
|
|
+ ret = devm_request_irq(port->dev, RX_IRQ(port), uart_clps711x_int_rx,
|
|
|
+ 0, UART_CLPS711X_NAME " RX", port);
|
|
|
+ if (ret) {
|
|
|
+ devm_free_irq(port->dev, TX_IRQ(port), port);
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -265,11 +262,9 @@ static void clps711xuart_shutdown(struct uart_port *port)
|
|
|
{
|
|
|
unsigned int ubrlcr, syscon;
|
|
|
|
|
|
- /*
|
|
|
- * Free the interrupt
|
|
|
- */
|
|
|
- free_irq(TX_IRQ(port), port); /* TX interrupt */
|
|
|
- free_irq(RX_IRQ(port), port); /* RX interrupt */
|
|
|
+ /* Free the interrupts */
|
|
|
+ devm_free_irq(port->dev, TX_IRQ(port), port);
|
|
|
+ devm_free_irq(port->dev, RX_IRQ(port), port);
|
|
|
|
|
|
/*
|
|
|
* disable the port
|