]> err.no Git - linux-2.6/blobdiff - drivers/serial/cpm_uart/cpm_uart_cpm2.h
tty: The big operations rework
[linux-2.6] / drivers / serial / cpm_uart / cpm_uart_cpm2.h
index 4b779111eaf9cc43e776ff3aff1a229d04fb0606..40006a7dce4693b0353d2ed2f9409dcac6b1e138 100644 (file)
 #include <asm/cpm2.h>
 
 /* defines for IRQs */
+#ifndef CONFIG_PPC_CPM_NEW_BINDING
 #define SMC1_IRQ       SIU_INT_SMC1
 #define SMC2_IRQ       SIU_INT_SMC2
 #define SCC1_IRQ       SIU_INT_SCC1
 #define SCC2_IRQ       SIU_INT_SCC2
 #define SCC3_IRQ       SIU_INT_SCC3
 #define SCC4_IRQ       SIU_INT_SCC4
-
-/* the CPM address */
-#define CPM_ADDR       CPM_MAP_ADDR
+#endif
 
 static inline void cpm_set_brg(int brg, int baud)
 {
        cpm_setbrg(brg, baud);
 }
 
-static inline void cpm_set_scc_fcr(volatile scc_uart_t * sup)
+static inline void cpm_set_scc_fcr(scc_uart_t __iomem *sup)
 {
-       sup->scc_genscc.scc_rfcr = CPMFCR_GBL | CPMFCR_EB;
-       sup->scc_genscc.scc_tfcr = CPMFCR_GBL | CPMFCR_EB;
+       out_8(&sup->scc_genscc.scc_rfcr, CPMFCR_GBL | CPMFCR_EB);
+       out_8(&sup->scc_genscc.scc_tfcr, CPMFCR_GBL | CPMFCR_EB);
 }
 
-static inline void cpm_set_smc_fcr(volatile smc_uart_t * up)
+static inline void cpm_set_smc_fcr(smc_uart_t __iomem *up)
 {
-       up->smc_rfcr = CPMFCR_GBL | CPMFCR_EB;
-       up->smc_tfcr = CPMFCR_GBL | CPMFCR_EB;
+       out_8(&up->smc_rfcr, CPMFCR_GBL | CPMFCR_EB);
+       out_8(&up->smc_tfcr, CPMFCR_GBL | CPMFCR_EB);
 }
 
-#define DPRAM_BASE     ((unsigned char *)cpm_dpram_addr(0))
+#define DPRAM_BASE     ((u8 __iomem __force *)cpm_dpram_addr(0))
 
 #endif