aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2011-12-23 09:59:03 -0500
committerGreg Ungerer <gerg@uclinux.org>2012-03-04 18:43:07 -0500
commit1eb1391638633cdeb7dcaacd295bfcbec216ea8f (patch)
tree5584f34f922ed7bc97b1aa2b2db2e26464f626a1 /arch/m68k
parent6b656e8a74ca81e04b281a135a49df76ada28a41 (diff)
m68knommu: simplify the 527x UART setup code
Simplify the UART setup code so that it no longer loops for each UART present. Just make it do all the work it needs in a single function. This will make the code easier to share when we move to a single set of platform data for ColdFire UARTs. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/platform/527x/config.c21
1 files changed, 2 insertions, 19 deletions
diff --git a/arch/m68k/platform/527x/config.c b/arch/m68k/platform/527x/config.c
index 56f1ddd3cfdc..74dab0248b62 100644
--- a/arch/m68k/platform/527x/config.c
+++ b/arch/m68k/platform/527x/config.c
@@ -295,35 +295,18 @@ static struct platform_device *m527x_devices[] __initdata = {
295 295
296/***************************************************************************/ 296/***************************************************************************/
297 297
298static void __init m527x_uart_init_line(int line, int irq) 298static void __init m527x_uarts_init(void)
299{ 299{
300 u16 sepmask; 300 u16 sepmask;
301 301
302 if ((line < 0) || (line > 2))
303 return;
304
305 /* 302 /*
306 * External Pin Mask Setting & Enable External Pin for Interface 303 * External Pin Mask Setting & Enable External Pin for Interface
307 */ 304 */
308 sepmask = readw(MCF_IPSBAR + MCF_GPIO_PAR_UART); 305 sepmask = readw(MCF_IPSBAR + MCF_GPIO_PAR_UART);
309 if (line == 0) 306 sepmask |= UART0_ENABLE_MASK | UART1_ENABLE_MASK | UART2_ENABLE_MASK;
310 sepmask |= UART0_ENABLE_MASK;
311 else if (line == 1)
312 sepmask |= UART1_ENABLE_MASK;
313 else if (line == 2)
314 sepmask |= UART2_ENABLE_MASK;
315 writew(sepmask, MCF_IPSBAR + MCF_GPIO_PAR_UART); 307 writew(sepmask, MCF_IPSBAR + MCF_GPIO_PAR_UART);
316} 308}
317 309
318static void __init m527x_uarts_init(void)
319{
320 const int nrlines = ARRAY_SIZE(m527x_uart_platform);
321 int line;
322
323 for (line = 0; (line < nrlines); line++)
324 m527x_uart_init_line(line, m527x_uart_platform[line].irq);
325}
326
327/***************************************************************************/ 310/***************************************************************************/
328 311
329static void __init m527x_fec_init(void) 312static void __init m527x_fec_init(void)