VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / arch / ppc / boot / simple / m8260_tty.c
index 9d1d54a..c3e2c39 100644 (file)
@@ -3,7 +3,8 @@
  */
 #include <linux/types.h>
 #include <asm/mpc8260.h>
-#include <asm/cpm_8260.h>
+#include <asm/cpm2.h>
+#include <asm/immap_cpm2.h>
 
 uint   no_print;
 extern char    *params[];
@@ -14,27 +15,30 @@ static              int     cons_hold_cnt;
 /* If defined, enables serial console.  The value (1 through 4)
  * should designate which SCC is used, but this isn't complete.  Only
  * SCC1 is known to work at this time.
+ * We're only linked if SERIAL_CPM_CONSOLE=y, so we only need to test
+ * SERIAL_CPM_SCC1.
  */
-#ifdef CONFIG_SCC_CONSOLE
+#ifdef CONFIG_SERIAL_CPM_SCC1
 #define SCC_CONSOLE 1
 #endif
 
 unsigned long
 serial_init(int ignored, bd_t *bd)
 {
-       volatile smc_t          *sp;
-       volatile smc_uart_t     *up;
 #ifdef SCC_CONSOLE
        volatile scc_t          *sccp;
        volatile scc_uart_t     *sup;
+#else
+       volatile smc_t          *sp;
+       volatile smc_uart_t     *up;
 #endif
        volatile cbd_t  *tbdf, *rbdf;
-       volatile immap_t        *ip;
-       volatile iop8260_t      *io;
-       volatile cpm8260_t      *cp;
+       volatile cpm2_map_t     *ip;
+       volatile iop_cpm2_t     *io;
+       volatile cpm_cpm2_t     *cp;
        uint    dpaddr, memaddr;
 
-       ip = (immap_t *)IMAP_ADDR;
+       ip = (cpm2_map_t *)CPM_MAP_ADDR;
        cp = &ip->im_cpm;
        io = &ip->im_ioport;
 
@@ -221,12 +225,15 @@ serial_readbuf(u_char *cbuf)
 {
        volatile cbd_t          *rbdf;
        volatile char           *buf;
-       volatile smc_uart_t     *up;
+#ifdef SCC_CONSOLE
        volatile scc_uart_t     *sup;
-       volatile immap_t        *ip;
+#else
+       volatile smc_uart_t     *up;
+#endif
+       volatile cpm2_map_t     *ip;
        int     i, nc;
 
-       ip = (immap_t *)IMAP_ADDR;
+       ip = (cpm2_map_t *)CPM_MAP_ADDR;
 
 #ifdef SCC_CONSOLE
        sup = (scc_uart_t *)&ip->im_dprambase[PROFF_SCC1 + ((SCC_CONSOLE-1) << 8)];
@@ -253,12 +260,14 @@ serial_putc(void *ignored, const char c)
 {
        volatile cbd_t          *tbdf;
        volatile char           *buf;
-       volatile smc_uart_t     *up;
+#ifdef SCC_CONSOLE
        volatile scc_uart_t     *sup;
-       volatile immap_t        *ip;
-       extern bd_t             *board_info;
+#else
+       volatile smc_uart_t     *up;
+#endif
+       volatile cpm2_map_t     *ip;
 
-       ip = (immap_t *)IMAP_ADDR;
+       ip = (cpm2_map_t *)CPM_MAP_ADDR;
 #ifdef SCC_CONSOLE
        sup = (scc_uart_t *)&ip->im_dprambase[PROFF_SCC1 + ((SCC_CONSOLE-1) << 8)];
        tbdf = (cbd_t *)&ip->im_dprambase[sup->scc_genscc.scc_tbase];
@@ -296,11 +305,14 @@ int
 serial_tstc(void *ignored)
 {
        volatile cbd_t          *rbdf;
-       volatile smc_uart_t     *up;
+#ifdef SCC_CONSOLE
        volatile scc_uart_t     *sup;
-       volatile immap_t        *ip;
+#else
+       volatile smc_uart_t     *up;
+#endif
+       volatile cpm2_map_t     *ip;
 
-       ip = (immap_t *)IMAP_ADDR;
+       ip = (cpm2_map_t *)CPM_MAP_ADDR;
 #ifdef SCC_CONSOLE
        sup = (scc_uart_t *)&ip->im_dprambase[PROFF_SCC1 + ((SCC_CONSOLE-1) << 8)];
        rbdf = (cbd_t *)&ip->im_dprambase[sup->scc_genscc.scc_rbase];