From: Tom Rini When I reworked the m82xx init functions, I inadvertantly broke the callout we had from ppc_md.setup_arch() that boards can use to poke & prod things, once mappings are set. The following adds in a callback and updates the one m82xx board that needs it. Signed-off-by: Tom Rini Signed-off-by: Andrew Morton --- 25-akpm/arch/ppc/platforms/pq2ads.c | 4 ++-- 25-akpm/arch/ppc/syslib/m8260_setup.c | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff -puN arch/ppc/platforms/pq2ads.c~ppc32-fix-mpc8272ads arch/ppc/platforms/pq2ads.c --- 25/arch/ppc/platforms/pq2ads.c~ppc32-fix-mpc8272ads Wed Jan 12 16:11:02 2005 +++ 25-akpm/arch/ppc/platforms/pq2ads.c Wed Jan 12 16:11:02 2005 @@ -19,8 +19,8 @@ #include void __init -m82xx_board_init(void) +m82xx_board_setup(void) { /* Enable the 2nd UART port */ - *(volatile uint *)(BCSR_ADDR + 4) &= ~BCSR1_RS232_EN2; + *(volatile uint *)(BCSR_ADDR + 4) &= ~BCSR1_RS232_EN2; } diff -puN arch/ppc/syslib/m8260_setup.c~ppc32-fix-mpc8272ads arch/ppc/syslib/m8260_setup.c --- 25/arch/ppc/syslib/m8260_setup.c~ppc32-fix-mpc8272ads Wed Jan 12 16:11:02 2005 +++ 25-akpm/arch/ppc/syslib/m8260_setup.c Wed Jan 12 16:11:02 2005 @@ -37,6 +37,12 @@ extern void cpm2_reset(void); extern void m8260_find_bridges(void); extern void idma_pci9_init(void); +/* Place-holder for board-specific init */ +void __attribute__ ((weak)) __init +m82xx_board_setup(void) +{ +} + static void __init m8260_setup_arch(void) { @@ -56,6 +62,7 @@ m8260_setup_arch(void) if (initrd_start) ROOT_DEV = Root_RAM0; #endif + m82xx_board_setup(); } /* The decrementer counts at the system (internal) clock frequency @@ -203,7 +210,7 @@ m8260_map_io(void) io_block_mapping(IO_VIRT_ADDR, IO_PHYS_ADDR, 0x10000000, _PAGE_IO); } -/* Place-holder for board-specific init */ +/* Place-holder for board-specific ppc_md hooking */ void __attribute__ ((weak)) __init m82xx_board_init(void) { _