OpenWrt – Diff between revs 2 and 3
?pathlinks?
Rev 2 | Rev 3 | |||
---|---|---|---|---|
Line 16... | Line 16... | |||
16 | uart->port.private_data = up->port.private_data; |
16 | uart->port.private_data = up->port.private_data; |
|
17 | uart->tx_loadsz = up->tx_loadsz; |
17 | uart->tx_loadsz = up->tx_loadsz; |
|
18 | uart->capabilities = up->capabilities; |
18 | uart->capabilities = up->capabilities; |
|
19 | --- a/drivers/tty/serial/serial_core.c |
19 | --- a/drivers/tty/serial/serial_core.c |
|
20 | +++ b/drivers/tty/serial/serial_core.c |
20 | +++ b/drivers/tty/serial/serial_core.c |
|
21 | @@ -2260,6 +2260,7 @@ uart_report_port(struct uart_driver *drv |
21 | @@ -2233,6 +2233,7 @@ uart_report_port(struct uart_driver *drv |
|
22 | snprintf(address, sizeof(address), |
22 | snprintf(address, sizeof(address), |
|
23 | "I/O 0x%lx offset 0x%x", port->iobase, port->hub6); |
23 | "I/O 0x%lx offset 0x%x", port->iobase, port->hub6); |
|
24 | break; |
24 | break; |
|
25 | + case UPIO_MEM_DELAY: |
25 | + case UPIO_MEM_DELAY: |
|
26 | case UPIO_MEM: |
26 | case UPIO_MEM: |
|
27 | case UPIO_MEM16: |
27 | case UPIO_MEM16: |
|
28 | case UPIO_MEM32: |
28 | case UPIO_MEM32: |
|
29 | @@ -2924,6 +2925,7 @@ int uart_match_port(struct uart_port *po |
29 | @@ -2897,6 +2898,7 @@ int uart_match_port(struct uart_port *po |
|
30 | case UPIO_HUB6: |
30 | case UPIO_HUB6: |
|
31 | return (port1->iobase == port2->iobase) && |
31 | return (port1->iobase == port2->iobase) && |
|
32 | (port1->hub6 == port2->hub6); |
32 | (port1->hub6 == port2->hub6); |
|
33 | + case UPIO_MEM_DELAY: |
33 | + case UPIO_MEM_DELAY: |
|
34 | case UPIO_MEM: |
34 | case UPIO_MEM: |
|
Line 62... | Line 62... | |||
62 | unsigned int type; /* port type */ |
62 | unsigned int type; /* port type */ |
|
63 | const struct uart_ops *ops; |
63 | const struct uart_ops *ops; |
|
64 | unsigned int custom_divisor; |
64 | unsigned int custom_divisor; |
|
65 | --- a/drivers/tty/serial/8250/8250_port.c |
65 | --- a/drivers/tty/serial/8250/8250_port.c |
|
66 | +++ b/drivers/tty/serial/8250/8250_port.c |
66 | +++ b/drivers/tty/serial/8250/8250_port.c |
|
67 | @@ -383,6 +383,20 @@ static unsigned int mem16_serial_in(stru |
67 | @@ -384,6 +384,20 @@ static unsigned int mem16_serial_in(stru |
|
68 | return readw(p->membase + offset); |
68 | return readw(p->membase + offset); |
|
69 | } |
69 | } |
|
Line 70... | Line 70... | |||
70 | |
70 | |
|
71 | +static unsigned int memdelay_serial_in(struct uart_port *p, int offset) |
71 | +static unsigned int memdelay_serial_in(struct uart_port *p, int offset) |
|
Line 83... | Line 83... | |||
83 | +} |
83 | +} |
|
84 | + |
84 | + |
|
85 | static void mem32_serial_out(struct uart_port *p, int offset, int value) |
85 | static void mem32_serial_out(struct uart_port *p, int offset, int value) |
|
86 | { |
86 | { |
|
87 | offset = offset << p->regshift; |
87 | offset = offset << p->regshift; |
|
88 | @@ -455,6 +469,11 @@ static void set_io_from_upio(struct uart |
88 | @@ -456,6 +470,11 @@ static void set_io_from_upio(struct uart |
|
89 | p->serial_out = mem32be_serial_out; |
89 | p->serial_out = mem32be_serial_out; |
|
90 | break; |
90 | break; |
|
Line 91... | Line 91... | |||
91 | |
91 | |
|
92 | + case UPIO_MEM_DELAY: |
92 | + case UPIO_MEM_DELAY: |
|
Line 95... | Line 95... | |||
95 | + break; |
95 | + break; |
|
96 | + |
96 | + |
|
97 | #ifdef CONFIG_SERIAL_8250_RT288X |
97 | #ifdef CONFIG_SERIAL_8250_RT288X |
|
98 | case UPIO_AU: |
98 | case UPIO_AU: |
|
99 | p->serial_in = au_serial_in; |
99 | p->serial_in = au_serial_in; |
|
100 | @@ -482,6 +501,7 @@ serial_port_out_sync(struct uart_port *p |
100 | @@ -483,6 +502,7 @@ serial_port_out_sync(struct uart_port *p |
|
101 | case UPIO_MEM16: |
101 | case UPIO_MEM16: |
|
102 | case UPIO_MEM32: |
102 | case UPIO_MEM32: |
|
103 | case UPIO_MEM32BE: |
103 | case UPIO_MEM32BE: |
|
104 | + case UPIO_MEM_DELAY: |
104 | + case UPIO_MEM_DELAY: |
|
105 | case UPIO_AU: |
105 | case UPIO_AU: |
|
106 | p->serial_out(p, offset, value); |
106 | p->serial_out(p, offset, value); |
|
107 | p->serial_in(p, UART_LCR); /* safe, no side-effects */ |
107 | p->serial_in(p, UART_LCR); /* safe, no side-effects */ |
|
108 | @@ -2759,6 +2779,7 @@ static int serial8250_request_std_resour |
108 | @@ -2760,6 +2780,7 @@ static int serial8250_request_std_resour |
|
109 | case UPIO_MEM32BE: |
109 | case UPIO_MEM32BE: |
|
110 | case UPIO_MEM16: |
110 | case UPIO_MEM16: |
|
111 | case UPIO_MEM: |
111 | case UPIO_MEM: |
|
112 | + case UPIO_MEM_DELAY: |
112 | + case UPIO_MEM_DELAY: |
|
113 | if (!port->mapbase) |
113 | if (!port->mapbase) |
|
114 | break; |
114 | break; |
|
Line 115... | Line 115... | |||
115 | |
115 | |
|
116 | @@ -2797,6 +2818,7 @@ static void serial8250_release_std_resou |
116 | @@ -2798,6 +2819,7 @@ static void serial8250_release_std_resou |
|
117 | case UPIO_MEM32BE: |
117 | case UPIO_MEM32BE: |
|
118 | case UPIO_MEM16: |
118 | case UPIO_MEM16: |
|
119 | case UPIO_MEM: |
119 | case UPIO_MEM: |
|
120 | + case UPIO_MEM_DELAY: |
120 | + case UPIO_MEM_DELAY: |