On Mon, Apr 27, 2009 at 06:59:17AM -0600, Shane McDonald wrote: > There have been a number of compile problems with the msp71xx > configuration ever since it was included in the linux-mips.org > repository. This patch resolves these problems: > - proper files are included when using a squashfs rootfs > - resetting the board no longer uses non-existent GPIO routines > - create the required plat_timer_setup function > > This patch has been compile-tested against the current HEAD. > > Signed-off-by: Shane McDonald <mcdonald.shane@xxxxxxxxx> > --- > arch/mips/pmc-sierra/msp71xx/msp_prom.c | 3 ++- > arch/mips/pmc-sierra/msp71xx/msp_setup.c | 8 ++------ > arch/mips/pmc-sierra/msp71xx/msp_time.c | 7 ++----- > 3 files changed, 6 insertions(+), 12 deletions(-) > > diff --git a/arch/mips/pmc-sierra/msp71xx/msp_prom.c b/arch/mips/pmc-sierra/msp71xx/msp_prom.c > index e5bd548..1e2d984 100644 > --- a/arch/mips/pmc-sierra/msp71xx/msp_prom.c > +++ b/arch/mips/pmc-sierra/msp71xx/msp_prom.c > @@ -44,7 +44,8 @@ > #include <linux/cramfs_fs.h> > #endif > #ifdef CONFIG_SQUASHFS > -#include <linux/squashfs_fs.h> > +#include <linux/magic.h> > +#include "../../../../fs/squashfs/squashfs_fs.h" No way. You're reaching deep into the internals of squashfs for no good reason. The only use of anything from squashfs_fs.h is a cast and casting to void * would work just as well. > #endif > > #include <asm/addrspace.h> > diff --git a/arch/mips/pmc-sierra/msp71xx/msp_setup.c b/arch/mips/pmc-sierra/msp71xx/msp_setup.c > index c936756..a54e85b 100644 > --- a/arch/mips/pmc-sierra/msp71xx/msp_setup.c > +++ b/arch/mips/pmc-sierra/msp71xx/msp_setup.c > @@ -21,7 +21,6 @@ > > #if defined(CONFIG_PMC_MSP7120_GW) > #include <msp_regops.h> > -#include <msp_gpio.h> > #define MSP_BOARD_RESET_GPIO 9 > #endif > > @@ -88,11 +87,8 @@ void msp7120_reset(void) > * as GPIO char driver may not be enabled and it would look up > * data inRAM! > */ > - set_value_reg32(GPIO_CFG3_REG, > - basic_mode_mask(MSP_BOARD_RESET_GPIO), > - basic_mode(MSP_GPIO_OUTPUT, MSP_BOARD_RESET_GPIO)); > - set_reg32(GPIO_DATA3_REG, > - basic_data_mask(MSP_BOARD_RESET_GPIO)); > + set_value_reg32(GPIO_CFG3_REG, 0xf000, 0x8000); > + set_reg32(GPIO_DATA3_REG, 8); > > /* > * In case GPIO9 doesn't reset the board (jumper configurable!) > diff --git a/arch/mips/pmc-sierra/msp71xx/msp_time.c b/arch/mips/pmc-sierra/msp71xx/msp_time.c > index 7cfeda5..cca64e1 100644 > --- a/arch/mips/pmc-sierra/msp71xx/msp_time.c > +++ b/arch/mips/pmc-sierra/msp71xx/msp_time.c > @@ -81,10 +81,7 @@ void __init plat_time_init(void) > mips_hpt_frequency = cpu_rate/2; > } > > -void __init plat_timer_setup(struct irqaction *irq) > +unsigned int __init get_c0_compare_int(void) > { > -#ifdef CONFIG_IRQ_MSP_CIC > - /* we are using the vpe0 counter for timer interrupts */ > - setup_irq(MSP_INT_VPE0_TIMER, irq); > -#endif > + return MSP_INT_VPE0_TIMER; > } The rest seems ok. Can you fix the issue above and send a new patch? Thanks! Ralf