[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 39 #include <asm/tlbflush.h> 40 40 #include <asm/rheap.h> 41 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 + 42 57 static void m8xx_cpm_dpinit(void); 43 58 static uint host_buffer; /* One page of host buffer */ 44 59 static uint host_end; /* end + 1 */ ··· 379 364 static rh_info_t cpm_dpmem_info; 380 365 381 366 #define CPM_DPMEM_ALIGNMENT 8 367 + static u8* dpram_vbase; 368 + static uint dpram_pbase; 382 369 383 370 void m8xx_cpm_dpinit(void) 384 371 { 385 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; 386 376 387 377 /* Initialize the info header */ 388 378 rh_init(&cpm_dpmem_info, CPM_DPMEM_ALIGNMENT, ··· 462 442 return ((immap_t *)IMAP_ADDR)->im_cpm.cp_dpmem + offset; 463 443 } 464 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 21 #include <linux/fs_enet_pd.h> 22 22 #include <linux/fs_uart_pd.h> 23 23 #include <linux/mii.h> 24 + #include <linux/phy.h> 24 25 25 26 #include <asm/delay.h> 26 27 #include <asm/io.h> ··· 38 37 39 38 extern unsigned char __res[]; 40 39 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); 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*); 45 44 46 45 static struct fs_mii_fec_platform_info mpc8xx_mdio_fec_pdata; 47 46 ··· 138 137 iounmap(bcsr_io); 139 138 } 140 139 141 - static void setup_fec1_ioports(struct fs_platform_info*) 140 + static void setup_fec1_ioports(struct fs_platform_info* pdata) 142 141 { 143 142 immap_t *immap = (immap_t *) IMAP_ADDR; 144 143 ··· 146 145 setbits16(&immap->im_ioport.iop_pddir, 0x1fff); 147 146 } 148 147 149 - static void setup_scc1_ioports(struct fs_platform_info*) 148 + static void setup_scc1_ioports(struct fs_platform_info* pdata) 150 149 { 151 150 immap_t *immap = (immap_t *) IMAP_ADDR; 152 151 unsigned *bcsr_io; ··· 195 194 196 195 } 197 196 198 - static void setup_smc1_ioports(struct fs_uart_platform_info*) 197 + static void setup_smc1_ioports(struct fs_uart_platform_info* pdata) 199 198 { 200 199 immap_t *immap = (immap_t *) IMAP_ADDR; 201 200 unsigned *bcsr_io; ··· 217 216 218 217 } 219 218 220 - static void setup_smc2_ioports(struct fs_uart_platform_info*) 219 + static void setup_smc2_ioports(struct fs_uart_platform_info* pdata) 221 220 { 222 221 immap_t *immap = (immap_t *) IMAP_ADDR; 223 222 unsigned *bcsr_io;