aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorVitaly Bordug <vbordug@ru.mvista.com>2006-05-24 13:40:18 -0400
committerPaul Mackerras <paulus@samba.org>2006-05-26 08:38:56 -0400
commit8e30a9a299ca30b6c4072c2182238d5f5dd1590d (patch)
tree4054dd52f383838c8c2f7d47e33493968c59d16b /drivers
parent6d923f98fe0f31c174ace92f8b680d0d153663aa (diff)
[PATCH] ppc32 CPM_UART: various fixes for pq2 uart users
This fixes various odd things that missed update together with cpm_uart platform_device move. Unified resources names, restructurisation, etc. Also, addressed issue with recent phys/virt translation rework. Being cache-coherent, CPM2's do alloc_bootmem() for the console stuff, and it was used to treat console buffer descriptor mapping 1:1 (as in CPM1 case), which is definitely wrong. Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/serial/cpm_uart/cpm_uart_core.c8
-rw-r--r--drivers/serial/cpm_uart/cpm_uart_cpm2.c2
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/serial/cpm_uart/cpm_uart_core.c b/drivers/serial/cpm_uart/cpm_uart_core.c
index 969f94900431..5cba59ad7dc5 100644
--- a/drivers/serial/cpm_uart/cpm_uart_core.c
+++ b/drivers/serial/cpm_uart/cpm_uart_core.c
@@ -1164,14 +1164,16 @@ static int __init cpm_uart_console_setup(struct console *co, char *options)
1164 struct fs_uart_platform_info *pdata; 1164 struct fs_uart_platform_info *pdata;
1165 struct platform_device* pdev = early_uart_get_pdev(co->index); 1165 struct platform_device* pdev = early_uart_get_pdev(co->index);
1166 1166
1167 port =
1168 (struct uart_port *)&cpm_uart_ports[cpm_uart_port_map[co->index]];
1169 pinfo = (struct uart_cpm_port *)port;
1170 if (!pdev) { 1167 if (!pdev) {
1171 pr_info("cpm_uart: console: compat mode\n"); 1168 pr_info("cpm_uart: console: compat mode\n");
1172 /* compatibility - will be cleaned up */ 1169 /* compatibility - will be cleaned up */
1173 cpm_uart_init_portdesc(); 1170 cpm_uart_init_portdesc();
1171 }
1174 1172
1173 port =
1174 (struct uart_port *)&cpm_uart_ports[cpm_uart_port_map[co->index]];
1175 pinfo = (struct uart_cpm_port *)port;
1176 if (!pdev) {
1175 if (pinfo->set_lineif) 1177 if (pinfo->set_lineif)
1176 pinfo->set_lineif(pinfo); 1178 pinfo->set_lineif(pinfo);
1177 } else { 1179 } else {
diff --git a/drivers/serial/cpm_uart/cpm_uart_cpm2.c b/drivers/serial/cpm_uart/cpm_uart_cpm2.c
index 4b2de08f46d0..cdba128250a9 100644
--- a/drivers/serial/cpm_uart/cpm_uart_cpm2.c
+++ b/drivers/serial/cpm_uart/cpm_uart_cpm2.c
@@ -213,7 +213,7 @@ int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con)
213 L1_CACHE_ALIGN(pinfo->tx_nrfifos * pinfo->tx_fifosize); 213 L1_CACHE_ALIGN(pinfo->tx_nrfifos * pinfo->tx_fifosize);
214 if (is_con) { 214 if (is_con) {
215 mem_addr = alloc_bootmem(memsz); 215 mem_addr = alloc_bootmem(memsz);
216 dma_addr = mem_addr; 216 dma_addr = virt_to_bus(mem_addr);
217 } 217 }
218 else 218 else
219 mem_addr = dma_alloc_coherent(NULL, memsz, &dma_addr, 219 mem_addr = dma_alloc_coherent(NULL, memsz, &dma_addr,