[PPC] Fix compilation and linking errors of mpc86xads build.

Fix compilation of mpc866ads_setup.c

Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>

authored by Vitaly Bordug and committed by Kumar Gala 7a6491df fa76abac

+35 -8
+26
arch/ppc/8xx_io/commproc.c
··· 39 #include <asm/tlbflush.h> 40 #include <asm/rheap.h> 41 42 static void m8xx_cpm_dpinit(void); 43 static uint host_buffer; /* One page of host buffer */ 44 static uint host_end; /* end + 1 */ ··· 379 static rh_info_t cpm_dpmem_info; 380 381 #define CPM_DPMEM_ALIGNMENT 8 382 383 void m8xx_cpm_dpinit(void) 384 { 385 spin_lock_init(&cpm_dpmem_lock); 386 387 /* Initialize the info header */ 388 rh_init(&cpm_dpmem_info, CPM_DPMEM_ALIGNMENT, ··· 462 return ((immap_t *)IMAP_ADDR)->im_cpm.cp_dpmem + offset; 463 } 464 EXPORT_SYMBOL(cpm_dpram_addr);
··· 39 #include <asm/tlbflush.h> 40 #include <asm/rheap.h> 41 42 + #define immr_map(member) \ 43 + ({ \ 44 + u32 offset = offsetof(immap_t, member); \ 45 + void *addr = ioremap (IMAP_ADDR + offset, \ 46 + sizeof( ((immap_t*)0)->member)); \ 47 + addr; \ 48 + }) 49 + 50 + #define immr_map_size(member, size) \ 51 + ({ \ 52 + u32 offset = offsetof(immap_t, member); \ 53 + void *addr = ioremap (IMAP_ADDR + offset, size); \ 54 + addr; \ 55 + }) 56 + 57 static void m8xx_cpm_dpinit(void); 58 static uint host_buffer; /* One page of host buffer */ 59 static uint host_end; /* end + 1 */ ··· 364 static rh_info_t cpm_dpmem_info; 365 366 #define CPM_DPMEM_ALIGNMENT 8 367 + static u8* dpram_vbase; 368 + static uint dpram_pbase; 369 370 void m8xx_cpm_dpinit(void) 371 { 372 spin_lock_init(&cpm_dpmem_lock); 373 + 374 + dpram_vbase = immr_map_size(im_cpm.cp_dpmem, CPM_DATAONLY_BASE + CPM_DATAONLY_SIZE); 375 + dpram_pbase = (uint)&((immap_t *)IMAP_ADDR)->im_cpm.cp_dpmem; 376 377 /* Initialize the info header */ 378 rh_init(&cpm_dpmem_info, CPM_DPMEM_ALIGNMENT, ··· 442 return ((immap_t *)IMAP_ADDR)->im_cpm.cp_dpmem + offset; 443 } 444 EXPORT_SYMBOL(cpm_dpram_addr); 445 + 446 + uint cpm_dpram_phys(u8* addr) 447 + { 448 + return (dpram_pbase + (uint)(addr - dpram_vbase)); 449 + } 450 + EXPORT_SYMBOL(cpm_dpram_phys);
+9 -8
arch/ppc/platforms/mpc866ads_setup.c
··· 21 #include <linux/fs_enet_pd.h> 22 #include <linux/fs_uart_pd.h> 23 #include <linux/mii.h> 24 25 #include <asm/delay.h> 26 #include <asm/io.h> ··· 38 39 extern unsigned char __res[]; 40 41 - static void setup_fec1_ioports(void); 42 - static void setup_scc1_ioports(void); 43 - static void setup_smc1_ioports(void); 44 - static void setup_smc2_ioports(void); 45 46 static struct fs_mii_fec_platform_info mpc8xx_mdio_fec_pdata; 47 ··· 138 iounmap(bcsr_io); 139 } 140 141 - static void setup_fec1_ioports(struct fs_platform_info*) 142 { 143 immap_t *immap = (immap_t *) IMAP_ADDR; 144 ··· 146 setbits16(&immap->im_ioport.iop_pddir, 0x1fff); 147 } 148 149 - static void setup_scc1_ioports(struct fs_platform_info*) 150 { 151 immap_t *immap = (immap_t *) IMAP_ADDR; 152 unsigned *bcsr_io; ··· 195 196 } 197 198 - static void setup_smc1_ioports(struct fs_uart_platform_info*) 199 { 200 immap_t *immap = (immap_t *) IMAP_ADDR; 201 unsigned *bcsr_io; ··· 217 218 } 219 220 - static void setup_smc2_ioports(struct fs_uart_platform_info*) 221 { 222 immap_t *immap = (immap_t *) IMAP_ADDR; 223 unsigned *bcsr_io;
··· 21 #include <linux/fs_enet_pd.h> 22 #include <linux/fs_uart_pd.h> 23 #include <linux/mii.h> 24 + #include <linux/phy.h> 25 26 #include <asm/delay.h> 27 #include <asm/io.h> ··· 37 38 extern unsigned char __res[]; 39 40 + static void setup_fec1_ioports(struct fs_platform_info*); 41 + static void setup_scc1_ioports(struct fs_platform_info*); 42 + static void setup_smc1_ioports(struct fs_uart_platform_info*); 43 + static void setup_smc2_ioports(struct fs_uart_platform_info*); 44 45 static struct fs_mii_fec_platform_info mpc8xx_mdio_fec_pdata; 46 ··· 137 iounmap(bcsr_io); 138 } 139 140 + static void setup_fec1_ioports(struct fs_platform_info* pdata) 141 { 142 immap_t *immap = (immap_t *) IMAP_ADDR; 143 ··· 145 setbits16(&immap->im_ioport.iop_pddir, 0x1fff); 146 } 147 148 + static void setup_scc1_ioports(struct fs_platform_info* pdata) 149 { 150 immap_t *immap = (immap_t *) IMAP_ADDR; 151 unsigned *bcsr_io; ··· 194 195 } 196 197 + static void setup_smc1_ioports(struct fs_uart_platform_info* pdata) 198 { 199 immap_t *immap = (immap_t *) IMAP_ADDR; 200 unsigned *bcsr_io; ··· 216 217 } 218 219 + static void setup_smc2_ioports(struct fs_uart_platform_info* pdata) 220 { 221 immap_t *immap = (immap_t *) IMAP_ADDR; 222 unsigned *bcsr_io;