Hello! On Thursday 09 August 2007 16:53, Hans-Jürgen Koch wrote: > (added linux-arm-kernel to CC) > > Am Donnerstag 09 August 2007 14:10 schrieb Andy Herzig: > > Hello all, > > > > This patch is intended to fix compilation errors when I tried to add in > > power management to my Atmel AT91SAM9260 board. First, there is no > > separate memory controller in the 9260 as there is in the 9200, so calls > > to do anything with it in pm.c fail. > > Correct. I made the same discovery with my AT91SAM9263 board. > > > > > Secondly, at91_suspend_entering_slow_clock() is not declared extern by > > drivers that use it. This used to cause only a warning, but in > > 2.6.23-rc1 and beyond, it is an error. > > Patch looks good to me. Kernel compiles for my 9263. Didn't test > suspend/resume yet, though. > > > > > Signed-off-by: Andrew J. Herzig <[EMAIL PROTECTED]> > > Acked-by: Hans J. Koch <[EMAIL PROTECTED]> > > > > --- > > arch/arm/mach-at91/pm.c | 5 ++++- > > drivers/serial/atmel_serial.c | 2 ++ > > drivers/usb/gadget/at91_udc.c | 2 ++ > > drivers/usb/host/ohci-at91.c | 1 + > > 4 files changed, 9 insertions(+), 1 deletion(-) > > > > diff -uprN -X linux-2.6.23-rc2/Documentation/dontdiff > > linux-2.6.23-rc2-vanilla/arch/arm/mach-at91/pm.c > > linux-2.6.23-rc2/arch/arm/mach-at91/pm.c > > --- linux-2.6.23-rc2-vanilla/arch/arm/mach-at91/pm.c 2007-08-08 > > 13:28:37.000000000 -0400 > > +++ linux-2.6.23-rc2/arch/arm/mach-at91/pm.c 2007-08-08 > > 13:36:43.000000000 -0400 > > @@ -176,7 +176,9 @@ static int at91_pm_enter(suspend_state_t > > */ > > asm("b 1f; .align 5; 1:"); > > asm("mcr p15, 0, r0, c7, c10, 4"); /* drain > > write buffer */ > > +#if defined(CONFIG_ARCH_AT91RM9200) > > at91_sys_write(AT91_SDRAMC_SRR, 1); /* > > self-refresh mode */ Why don't use: if (cpu_is_at91rm9200()) at91_sys_write(AT91_SDRAMC_SRR, 1);
> > +#endif > > /* fall though to next state */ > > > > case PM_SUSPEND_ON: > > @@ -218,8 +220,9 @@ static int __init at91_pm_init(void) > > #endif > > > > /* Disable SDRAM low-power mode. Cannot be used with > > self-refresh. */ > > +#if defined(CONFIG_ARCH_AT91RM9200) > > at91_sys_write(AT91_SDRAMC_LPR, 0); > > - > > +#endif same comment ... > > --- linux-2.6.23-rc2-vanilla/drivers/serial/atmel_serial.c > > 2007-08-08 13:28:33.000000000 -0400 > > +++ linux-2.6.23-rc2/drivers/serial/atmel_serial.c 2007-08-08 > > 13:32:52.000000000 -0400 > > @@ -916,6 +916,8 @@ static struct uart_driver atmel_uart = { > > }; > > > > #ifdef CONFIG_PM > > +extern int at91_suspend_entering_slow_clock(void); > > + > > static int atmel_serial_suspend(struct platform_device *pdev, > > pm_message_t state) > > { > > struct uart_port *port = platform_get_drvdata(pdev); > > diff -uprN -X linux-2.6.23-rc2/Documentation/dontdiff > > linux-2.6.23-rc2-vanilla/drivers/usb/gadget/at91_udc.c > > linux-2.6.23-rc2/drivers/usb/gadget/at91_udc.c > > --- linux-2.6.23-rc2-vanilla/drivers/usb/gadget/at91_udc.c > > 2007-08-08 13:28:27.000000000 -0400 > > +++ linux-2.6.23-rc2/drivers/usb/gadget/at91_udc.c 2007-08-08 > > 13:33:21.000000000 -0400 > > @@ -1770,6 +1770,8 @@ static int __exit at91udc_remove(struct > > } > > > > #ifdef CONFIG_PM > > +extern int at91_suspend_entering_slow_clock(void); > > + > > static int at91udc_suspend(struct platform_device *pdev, pm_message_t > > mesg) > > { > > struct at91_udc *udc = platform_get_drvdata(pdev); > > diff -uprN -X linux-2.6.23-rc2/Documentation/dontdiff > > linux-2.6.23-rc2-vanilla/drivers/usb/host/ohci-at91.c > > linux-2.6.23-rc2/drivers/usb/host/ohci-at91.c > > --- linux-2.6.23-rc2-vanilla/drivers/usb/host/ohci-at91.c > > 2007-08-08 13:28:27.000000000 -0400 > > +++ linux-2.6.23-rc2/drivers/usb/host/ohci-at91.c 2007-08-08 > > 13:32:45.000000000 -0400 > > @@ -282,6 +282,7 @@ static int ohci_hcd_at91_drv_remove(stru > > } > > > > #ifdef CONFIG_PM > > +extern int at91_suspend_entering_slow_clock(void); Why do you define 3 times this function? Can't you place it in a .h? Regards Marc - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/