aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2007-09-14 15:22:36 -0400
committerKumar Gala <galak@kernel.crashing.org>2007-10-03 21:36:35 -0400
commitfb533d0c5a9783ecafa9a177bace6384c47282a9 (patch)
tree7be09cf401674b176455530ab4fec98bf9681751 /include
parentccf0d68e835003f19d5a9463d5a8c1e092d3a31a (diff)
[POWERPC] 8xx: Infrastructure code cleanup.
1. Keep a global mpc8xx_immr mapping, rather than constantly creating temporary mappings. 2. Look for new fsl,cpm1 and fsl,cpm1-pic names. 3. Always reset the CPM when not using the udbg console; this is required in case the firmware initialized a device that is incompatible with one that the kernel is about to use. 4. Remove some superfluous casts and header includes. 5. Change a usage of IMAP_ADDR to get_immrbase(). 6. Use phys_addr_t, not uint, for dpram_pbase. 7. Various sparse-related fixes, such as __iomem annotations. 8. Remove mpc8xx_show_cpuinfo, which doesn't provide anything useful beyond the generic cpuinfo handler. 9. Move prototypes for 8xx support functions from board files to sysdev/commproc.h. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-powerpc/commproc.h4
-rw-r--r--include/asm-powerpc/fs_pd.h19
2 files changed, 7 insertions, 16 deletions
diff --git a/include/asm-powerpc/commproc.h b/include/asm-powerpc/commproc.h
index 397248705e0e..86fcf265c54a 100644
--- a/include/asm-powerpc/commproc.h
+++ b/include/asm-powerpc/commproc.h
@@ -66,7 +66,7 @@
66/* Export the base address of the communication processor registers 66/* Export the base address of the communication processor registers
67 * and dual port ram. 67 * and dual port ram.
68 */ 68 */
69extern cpm8xx_t *cpmp; /* Pointer to comm processor */ 69extern cpm8xx_t __iomem *cpmp; /* Pointer to comm processor */
70extern unsigned long cpm_dpalloc(uint size, uint align); 70extern unsigned long cpm_dpalloc(uint size, uint align);
71extern int cpm_dpfree(unsigned long offset); 71extern int cpm_dpfree(unsigned long offset);
72extern unsigned long cpm_dpalloc_fixed(unsigned long offset, uint size, uint align); 72extern unsigned long cpm_dpalloc_fixed(unsigned long offset, uint size, uint align);
@@ -689,4 +689,6 @@ typedef struct risc_timer_pram {
689extern void cpm_install_handler(int vec, void (*handler)(void *), void *dev_id); 689extern void cpm_install_handler(int vec, void (*handler)(void *), void *dev_id);
690extern void cpm_free_handler(int vec); 690extern void cpm_free_handler(int vec);
691 691
692#define IMAP_ADDR (get_immrbase())
693
692#endif /* __CPM_8XX__ */ 694#endif /* __CPM_8XX__ */
diff --git a/include/asm-powerpc/fs_pd.h b/include/asm-powerpc/fs_pd.h
index c624915b757e..77e04d01749c 100644
--- a/include/asm-powerpc/fs_pd.h
+++ b/include/asm-powerpc/fs_pd.h
@@ -45,22 +45,11 @@
45#include <asm/8xx_immap.h> 45#include <asm/8xx_immap.h>
46#include <asm/mpc8xx.h> 46#include <asm/mpc8xx.h>
47 47
48#define immr_map(member) \ 48extern immap_t __iomem *mpc8xx_immr;
49({ \
50 u32 offset = offsetof(immap_t, member); \
51 void *addr = ioremap (IMAP_ADDR + offset, \
52 sizeof( ((immap_t*)0)->member)); \
53 addr; \
54})
55
56#define immr_map_size(member, size) \
57({ \
58 u32 offset = offsetof(immap_t, member); \
59 void *addr = ioremap (IMAP_ADDR + offset, size); \
60 addr; \
61})
62 49
63#define immr_unmap(addr) iounmap(addr) 50#define immr_map(member) (&mpc8xx_immr->member)
51#define immr_map_size(member, size) (&mpc8xx_immr->member)
52#define immr_unmap(addr) do {} while (0)
64#endif 53#endif
65 54
66static inline int uart_baudrate(void) 55static inline int uart_baudrate(void)