On Thu, 2007-08-09 at 08:10 -0400, Andy Herzig wrote: > 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. > > 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. Sorry, the previous patch was fouled up.
Signed-off-by: Andrew J. Herzig <[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 */ +#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 pm_set_ops(&at91_pm_ops); return 0; diff -uprN -X linux-2.6.23-rc2/Documentation/dontdiff linux-2.6.23-rc2-vanilla/drivers/serial/atmel_serial.c linux-2.6.23-rc2/drivers/serial/atmel_serial.c --- 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); static int ohci_hcd_at91_drv_suspend(struct platform_device *pdev, pm_message_t mesg) - 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/