Commit 0ea41a26 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for_linus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc

* 'for_linus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc:
  [PPC] Fix compilation and linking errors of mpc86xads build.
  [PPC] Fix compilation and linking errors of mpc885ads build.
  [PPC] MPC8272 ADS compile fixed, defconfig refreshed.
parents 6a04de6d 7a6491df
...@@ -39,6 +39,21 @@ ...@@ -39,6 +39,21 @@
#include <asm/tlbflush.h> #include <asm/tlbflush.h>
#include <asm/rheap.h> #include <asm/rheap.h>
#define immr_map(member) \
({ \
u32 offset = offsetof(immap_t, member); \
void *addr = ioremap (IMAP_ADDR + offset, \
sizeof( ((immap_t*)0)->member)); \
addr; \
})
#define immr_map_size(member, size) \
({ \
u32 offset = offsetof(immap_t, member); \
void *addr = ioremap (IMAP_ADDR + offset, size); \
addr; \
})
static void m8xx_cpm_dpinit(void); static void m8xx_cpm_dpinit(void);
static uint host_buffer; /* One page of host buffer */ static uint host_buffer; /* One page of host buffer */
static uint host_end; /* end + 1 */ static uint host_end; /* end + 1 */
...@@ -364,11 +379,16 @@ static rh_block_t cpm_boot_dpmem_rh_block[16]; ...@@ -364,11 +379,16 @@ static rh_block_t cpm_boot_dpmem_rh_block[16];
static rh_info_t cpm_dpmem_info; static rh_info_t cpm_dpmem_info;
#define CPM_DPMEM_ALIGNMENT 8 #define CPM_DPMEM_ALIGNMENT 8
static u8* dpram_vbase;
static uint dpram_pbase;
void m8xx_cpm_dpinit(void) void m8xx_cpm_dpinit(void)
{ {
spin_lock_init(&cpm_dpmem_lock); spin_lock_init(&cpm_dpmem_lock);
dpram_vbase = immr_map_size(im_cpm.cp_dpmem, CPM_DATAONLY_BASE + CPM_DATAONLY_SIZE);
dpram_pbase = (uint)&((immap_t *)IMAP_ADDR)->im_cpm.cp_dpmem;
/* Initialize the info header */ /* Initialize the info header */
rh_init(&cpm_dpmem_info, CPM_DPMEM_ALIGNMENT, rh_init(&cpm_dpmem_info, CPM_DPMEM_ALIGNMENT,
sizeof(cpm_boot_dpmem_rh_block) / sizeof(cpm_boot_dpmem_rh_block) /
...@@ -442,3 +462,9 @@ void *cpm_dpram_addr(uint offset) ...@@ -442,3 +462,9 @@ void *cpm_dpram_addr(uint offset)
return ((immap_t *)IMAP_ADDR)->im_cpm.cp_dpmem + offset; return ((immap_t *)IMAP_ADDR)->im_cpm.cp_dpmem + offset;
} }
EXPORT_SYMBOL(cpm_dpram_addr); EXPORT_SYMBOL(cpm_dpram_addr);
uint cpm_dpram_phys(u8* addr)
{
return (dpram_pbase + (uint)(addr - dpram_vbase));
}
EXPORT_SYMBOL(cpm_dpram_phys);
This diff is collapsed.
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include <linux/ioport.h> #include <linux/ioport.h>
#include <linux/fs_enet_pd.h> #include <linux/fs_enet_pd.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/phy.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/mpc8260.h> #include <asm/mpc8260.h>
...@@ -30,10 +31,10 @@ ...@@ -30,10 +31,10 @@
#include "pq2ads_pd.h" #include "pq2ads_pd.h"
static void init_fcc1_ioports(void); static void init_fcc1_ioports(struct fs_platform_info*);
static void init_fcc2_ioports(void); static void init_fcc2_ioports(struct fs_platform_info*);
static void init_scc1_uart_ioports(void); static void init_scc1_uart_ioports(struct fs_uart_platform_info*);
static void init_scc4_uart_ioports(void); static void init_scc4_uart_ioports(struct fs_uart_platform_info*);
static struct fs_uart_platform_info mpc8272_uart_pdata[] = { static struct fs_uart_platform_info mpc8272_uart_pdata[] = {
[fsid_scc1_uart] = { [fsid_scc1_uart] = {
...@@ -103,7 +104,7 @@ static struct fs_platform_info mpc82xx_enet_pdata[] = { ...@@ -103,7 +104,7 @@ static struct fs_platform_info mpc82xx_enet_pdata[] = {
}, },
}; };
static void init_fcc1_ioports(struct fs_platform_info*) static void init_fcc1_ioports(struct fs_platform_info* pdata)
{ {
struct io_port *io; struct io_port *io;
u32 tempval; u32 tempval;
...@@ -144,7 +145,7 @@ static void init_fcc1_ioports(struct fs_platform_info*) ...@@ -144,7 +145,7 @@ static void init_fcc1_ioports(struct fs_platform_info*)
iounmap(immap); iounmap(immap);
} }
static void init_fcc2_ioports(struct fs_platform_info*) static void init_fcc2_ioports(struct fs_platform_info* pdata)
{ {
cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t)); cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t));
u32 *bcsr = ioremap(BCSR_ADDR+12, sizeof(u32)); u32 *bcsr = ioremap(BCSR_ADDR+12, sizeof(u32));
...@@ -229,7 +230,7 @@ static void mpc8272ads_fixup_uart_pdata(struct platform_device *pdev, ...@@ -229,7 +230,7 @@ static void mpc8272ads_fixup_uart_pdata(struct platform_device *pdev,
} }
} }
static void init_scc1_uart_ioports(struct fs_uart_platform_info*) static void init_scc1_uart_ioports(struct fs_uart_platform_info* pdata)
{ {
cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t)); cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t));
...@@ -246,7 +247,7 @@ static void init_scc1_uart_ioports(struct fs_uart_platform_info*) ...@@ -246,7 +247,7 @@ static void init_scc1_uart_ioports(struct fs_uart_platform_info*)
iounmap(immap); iounmap(immap);
} }
static void init_scc4_uart_ioports(struct fs_uart_platform_info*) static void init_scc4_uart_ioports(struct fs_uart_platform_info* pdata)
{ {
cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t)); cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t));
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include <linux/fs_enet_pd.h> #include <linux/fs_enet_pd.h>
#include <linux/fs_uart_pd.h> #include <linux/fs_uart_pd.h>
#include <linux/mii.h> #include <linux/mii.h>
#include <linux/phy.h>
#include <asm/delay.h> #include <asm/delay.h>
#include <asm/io.h> #include <asm/io.h>
...@@ -37,10 +38,10 @@ ...@@ -37,10 +38,10 @@
extern unsigned char __res[]; extern unsigned char __res[];
static void setup_fec1_ioports(void); static void setup_fec1_ioports(struct fs_platform_info*);
static void setup_scc1_ioports(void); static void setup_scc1_ioports(struct fs_platform_info*);
static void setup_smc1_ioports(void); static void setup_smc1_ioports(struct fs_uart_platform_info*);
static void setup_smc2_ioports(void); static void setup_smc2_ioports(struct fs_uart_platform_info*);
static struct fs_mii_fec_platform_info mpc8xx_mdio_fec_pdata; static struct fs_mii_fec_platform_info mpc8xx_mdio_fec_pdata;
...@@ -137,7 +138,7 @@ void __init board_init(void) ...@@ -137,7 +138,7 @@ void __init board_init(void)
iounmap(bcsr_io); iounmap(bcsr_io);
} }
static void setup_fec1_ioports(struct fs_platform_info*) static void setup_fec1_ioports(struct fs_platform_info* pdata)
{ {
immap_t *immap = (immap_t *) IMAP_ADDR; immap_t *immap = (immap_t *) IMAP_ADDR;
...@@ -145,7 +146,7 @@ static void setup_fec1_ioports(struct fs_platform_info*) ...@@ -145,7 +146,7 @@ static void setup_fec1_ioports(struct fs_platform_info*)
setbits16(&immap->im_ioport.iop_pddir, 0x1fff); setbits16(&immap->im_ioport.iop_pddir, 0x1fff);
} }
static void setup_scc1_ioports(struct fs_platform_info*) static void setup_scc1_ioports(struct fs_platform_info* pdata)
{ {
immap_t *immap = (immap_t *) IMAP_ADDR; immap_t *immap = (immap_t *) IMAP_ADDR;
unsigned *bcsr_io; unsigned *bcsr_io;
...@@ -194,7 +195,7 @@ static void setup_scc1_ioports(struct fs_platform_info*) ...@@ -194,7 +195,7 @@ static void setup_scc1_ioports(struct fs_platform_info*)
} }
static void setup_smc1_ioports(struct fs_uart_platform_info*) static void setup_smc1_ioports(struct fs_uart_platform_info* pdata)
{ {
immap_t *immap = (immap_t *) IMAP_ADDR; immap_t *immap = (immap_t *) IMAP_ADDR;
unsigned *bcsr_io; unsigned *bcsr_io;
...@@ -216,7 +217,7 @@ static void setup_smc1_ioports(struct fs_uart_platform_info*) ...@@ -216,7 +217,7 @@ static void setup_smc1_ioports(struct fs_uart_platform_info*)
} }
static void setup_smc2_ioports(struct fs_uart_platform_info*) static void setup_smc2_ioports(struct fs_uart_platform_info* pdata)
{ {
immap_t *immap = (immap_t *) IMAP_ADDR; immap_t *immap = (immap_t *) IMAP_ADDR;
unsigned *bcsr_io; unsigned *bcsr_io;
......
...@@ -35,13 +35,13 @@ ...@@ -35,13 +35,13 @@
#include <asm/ppc_sys.h> #include <asm/ppc_sys.h>
extern unsigned char __res[]; extern unsigned char __res[];
static void setup_smc1_ioports(void); static void setup_smc1_ioports(struct fs_uart_platform_info*);
static void setup_smc2_ioports(void); static void setup_smc2_ioports(struct fs_uart_platform_info*);
static struct fs_mii_fec_platform_info mpc8xx_mdio_fec_pdata; static struct fs_mii_fec_platform_info mpc8xx_mdio_fec_pdata;
static void setup_fec1_ioports(void); static void setup_fec1_ioports(struct fs_platform_info*);
static void setup_fec2_ioports(void); static void setup_fec2_ioports(struct fs_platform_info*);
static void setup_scc3_ioports(void); static void setup_scc3_ioports(struct fs_platform_info*);
static struct fs_uart_platform_info mpc885_uart_pdata[] = { static struct fs_uart_platform_info mpc885_uart_pdata[] = {
[fsid_smc1_uart] = { [fsid_smc1_uart] = {
...@@ -161,7 +161,7 @@ void __init board_init(void) ...@@ -161,7 +161,7 @@ void __init board_init(void)
#endif #endif
} }
static void setup_fec1_ioports(struct fs_platform_info*) static void setup_fec1_ioports(struct fs_platform_info* pdata)
{ {
immap_t *immap = (immap_t *) IMAP_ADDR; immap_t *immap = (immap_t *) IMAP_ADDR;
...@@ -181,7 +181,7 @@ static void setup_fec1_ioports(struct fs_platform_info*) ...@@ -181,7 +181,7 @@ static void setup_fec1_ioports(struct fs_platform_info*)
clrbits32(&immap->im_cpm.cp_cptr, 0x00000100); clrbits32(&immap->im_cpm.cp_cptr, 0x00000100);
} }
static void setup_fec2_ioports(struct fs_platform_info*) static void setup_fec2_ioports(struct fs_platform_info* pdata)
{ {
immap_t *immap = (immap_t *) IMAP_ADDR; immap_t *immap = (immap_t *) IMAP_ADDR;
...@@ -193,7 +193,7 @@ static void setup_fec2_ioports(struct fs_platform_info*) ...@@ -193,7 +193,7 @@ static void setup_fec2_ioports(struct fs_platform_info*)
clrbits32(&immap->im_cpm.cp_cptr, 0x00000080); clrbits32(&immap->im_cpm.cp_cptr, 0x00000080);
} }
static void setup_scc3_ioports(struct fs_platform_info*) static void setup_scc3_ioports(struct fs_platform_info* pdata)
{ {
immap_t *immap = (immap_t *) IMAP_ADDR; immap_t *immap = (immap_t *) IMAP_ADDR;
unsigned *bcsr_io; unsigned *bcsr_io;
...@@ -315,7 +315,7 @@ static void __init mpc885ads_fixup_scc_enet_pdata(struct platform_device *pdev, ...@@ -315,7 +315,7 @@ static void __init mpc885ads_fixup_scc_enet_pdata(struct platform_device *pdev,
mpc885ads_fixup_enet_pdata(pdev, fsid_scc1 + pdev->id - 1); mpc885ads_fixup_enet_pdata(pdev, fsid_scc1 + pdev->id - 1);
} }
static void setup_smc1_ioports(struct fs_uart_platform_info*) static void setup_smc1_ioports(struct fs_uart_platform_info* pdata)
{ {
immap_t *immap = (immap_t *) IMAP_ADDR; immap_t *immap = (immap_t *) IMAP_ADDR;
unsigned *bcsr_io; unsigned *bcsr_io;
...@@ -335,7 +335,7 @@ static void setup_smc1_ioports(struct fs_uart_platform_info*) ...@@ -335,7 +335,7 @@ static void setup_smc1_ioports(struct fs_uart_platform_info*)
clrbits16(&immap->im_cpm.cp_pbodr, iobits); clrbits16(&immap->im_cpm.cp_pbodr, iobits);
} }
static void setup_smc2_ioports(struct fs_uart_platform_info*) static void setup_smc2_ioports(struct fs_uart_platform_info* pdata)
{ {
immap_t *immap = (immap_t *) IMAP_ADDR; immap_t *immap = (immap_t *) IMAP_ADDR;
unsigned *bcsr_io; unsigned *bcsr_io;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment