diff options
author | Scott Wood <scottwood@freescale.com> | 2007-09-14 15:22:36 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2007-10-03 21:36:35 -0400 |
commit | fb533d0c5a9783ecafa9a177bace6384c47282a9 (patch) | |
tree | 7be09cf401674b176455530ab4fec98bf9681751 /include | |
parent | ccf0d68e835003f19d5a9463d5a8c1e092d3a31a (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.h | 4 | ||||
-rw-r--r-- | include/asm-powerpc/fs_pd.h | 19 |
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 | */ |
69 | extern cpm8xx_t *cpmp; /* Pointer to comm processor */ | 69 | extern cpm8xx_t __iomem *cpmp; /* Pointer to comm processor */ |
70 | extern unsigned long cpm_dpalloc(uint size, uint align); | 70 | extern unsigned long cpm_dpalloc(uint size, uint align); |
71 | extern int cpm_dpfree(unsigned long offset); | 71 | extern int cpm_dpfree(unsigned long offset); |
72 | extern unsigned long cpm_dpalloc_fixed(unsigned long offset, uint size, uint align); | 72 | extern unsigned long cpm_dpalloc_fixed(unsigned long offset, uint size, uint align); |
@@ -689,4 +689,6 @@ typedef struct risc_timer_pram { | |||
689 | extern void cpm_install_handler(int vec, void (*handler)(void *), void *dev_id); | 689 | extern void cpm_install_handler(int vec, void (*handler)(void *), void *dev_id); |
690 | extern void cpm_free_handler(int vec); | 690 | extern 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) \ | 48 | extern 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 | ||
66 | static inline int uart_baudrate(void) | 55 | static inline int uart_baudrate(void) |