提交 edb0a640 编写于 作者: S Sonic Zhang 提交者: Bob Liu

Blackfin: add serial TX IRQ in individual platform resource

The serial TX IRQ is not simply (RX IRQ + 1) on some Blackfin chips,
so move the values to the platform resources.
Signed-off-by: NSonic Zhang <sonic.zhang@analog.com>
Signed-off-by: NMike Frysinger <vapier@gentoo.org>
Signed-off-by: NBob Liu <lliubbo@gmail.com>
上级 7f80850d
......@@ -32,6 +32,8 @@ struct work_struct;
struct bfin_serial_port {
struct uart_port port;
unsigned int old_status;
int tx_irq;
int rx_irq;
int status_irq;
#ifndef BFIN_UART_BF54X_STYLE
unsigned int lsr;
......
......@@ -372,9 +372,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -415,9 +420,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -308,9 +308,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -351,9 +356,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -380,9 +380,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -423,9 +428,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -538,9 +538,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -581,9 +586,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -416,9 +416,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -459,9 +464,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -710,9 +710,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -753,9 +758,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -495,9 +495,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -539,9 +544,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -237,9 +237,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -192,9 +192,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -220,9 +220,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -291,9 +291,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -150,9 +150,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -297,9 +297,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX + 1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -304,9 +304,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -365,9 +370,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -305,9 +305,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -348,9 +353,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -236,9 +236,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -280,9 +285,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -239,9 +239,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -282,9 +287,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -308,9 +308,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -351,9 +356,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -1565,9 +1565,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -1620,9 +1625,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -305,9 +305,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -348,9 +353,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -48,9 +48,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -103,9 +108,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -146,9 +156,14 @@ static struct resource bfin_uart2_resources[] = {
.end = UART2_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART2_TX,
.end = IRQ_UART2_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART2_RX,
.end = IRQ_UART2_RX+1,
.end = IRQ_UART2_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -134,9 +134,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -177,9 +182,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -236,9 +246,14 @@ static struct resource bfin_uart2_resources[] = {
.end = UART2_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART2_TX,
.end = IRQ_UART2_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART2_RX,
.end = IRQ_UART2_RX+1,
.end = IRQ_UART2_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -279,9 +294,14 @@ static struct resource bfin_uart3_resources[] = {
.end = UART3_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART3_TX,
.end = IRQ_UART3_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART3_RX,
.end = IRQ_UART3_RX+1,
.end = IRQ_UART3_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -240,9 +240,14 @@ static struct resource bfin_uart0_resources[] = {
.end = UART0_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART0_TX,
.end = IRQ_UART0_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART0_RX,
.end = IRQ_UART0_RX+1,
.end = IRQ_UART0_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -283,9 +288,14 @@ static struct resource bfin_uart1_resources[] = {
.end = UART1_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART1_TX,
.end = IRQ_UART1_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART1_RX,
.end = IRQ_UART1_RX+1,
.end = IRQ_UART1_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -342,9 +352,14 @@ static struct resource bfin_uart2_resources[] = {
.end = UART2_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART2_TX,
.end = IRQ_UART2_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART2_RX,
.end = IRQ_UART2_RX+1,
.end = IRQ_UART2_RX,
.flags = IORESOURCE_IRQ,
},
{
......@@ -385,9 +400,14 @@ static struct resource bfin_uart3_resources[] = {
.end = UART3_RBR+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART3_TX,
.end = IRQ_UART3_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART3_RX,
.end = IRQ_UART3_RX+1,
.end = IRQ_UART3_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -202,9 +202,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL + 2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART_TX,
.end = IRQ_UART_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART_RX,
.end = IRQ_UART_RX + 1,
.end = IRQ_UART_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -276,9 +276,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART_TX,
.end = IRQ_UART_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART_RX,
.end = IRQ_UART_RX+1,
.end = IRQ_UART_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -171,9 +171,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART_TX,
.end = IRQ_UART_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART_RX,
.end = IRQ_UART_RX+1,
.end = IRQ_UART_RX,
.flags = IORESOURCE_IRQ,
},
{
......
......@@ -50,9 +50,14 @@ static struct resource bfin_uart0_resources[] = {
.end = BFIN_UART_GCTL+2,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_UART_TX,
.end = IRQ_UART_TX,
.flags = IORESOURCE_IRQ,
},
{
.start = IRQ_UART_RX,
.end = IRQ_UART_RX+1,
.end = IRQ_UART_RX,
.flags = IORESOURCE_IRQ,
},
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册