Subject: cpm_uart initializes scm/scc for console only?

From: Ken MacLeod <[email-masked]>
Date: 03 Jun 2005 22:14:19 -0500

We're tracking down an issue trying to use both SMC1 and SMC2 as
ttyCPM devices.  SMC1 as console (and ttyCPM/0) is working fine,
but it appears that SMC2 is not being completely initialized.

It looks as though the cause is that cpm_uart_init_smc (or
cpm_uart_init_scc) is only called from cpm_uart_console_setup[1],
ie. only when CONFIG_SERIAL_CPM_CONSOLE is set, and then only for the
one port that is defined as the console.

It looks like cpu_uart_init_smc/scc should be called at some point for
all ports that are defined for use, but there's no other place it's
called from.

Before we try fixing the wrong thing, is this (using multiple SMC/SCC
ports "out of the box") known to work?  Is there a reason why calling
cpu_uart_init_smc/scc wouldn't have been implemented?

This was found with Linux 2.6.10 and I've reviewed the updates through
2.6.12-rc5 and the patch tracking system.

Sanity check much appreciated,

  -- Ken

[1] http://lxr.linux.no/source/drivers/serial/cpm_uart/cpm_uart_core.c#L1079