atmel_serial: Fix build on avr32 with CONFIG_PM enabled
authorHaavard Skinnemoen <hskinnemoen@atmel.com>
Sun, 24 Feb 2008 13:34:45 +0000 (14:34 +0100)
committerHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
Wed, 2 Jul 2008 09:05:00 +0000 (11:05 +0200)
AVR32 doesn't have at91_suspend_entering_slow_clock(). Just assume the
clock will keep running for now.

David has a better solution for this, but this works for now. Leaving
the USART clock running won't prevent the PM code from entering deep
power-down modes anyway.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: David Brownell <david-b@pacbell.net>
Cc: Andrew Victor <linux@maxim.org.za>
drivers/serial/atmel_serial.c

index 42be8b0..5f0414f 100644 (file)
@@ -1439,6 +1439,15 @@ static struct uart_driver atmel_uart = {
 };
 
 #ifdef CONFIG_PM
+static bool atmel_serial_clk_will_stop(void)
+{
+#ifdef CONFIG_ARCH_AT91
+       return at91_suspend_entering_slow_clock();
+#else
+       return false;
+#endif
+}
+
 static int atmel_serial_suspend(struct platform_device *pdev,
                                pm_message_t state)
 {
@@ -1446,7 +1455,7 @@ static int atmel_serial_suspend(struct platform_device *pdev,
        struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);
 
        if (device_may_wakeup(&pdev->dev)
-           && !at91_suspend_entering_slow_clock())
+           && !atmel_serial_clk_will_stop())
                enable_irq_wake(port->irq);
        else {
                uart_suspend_port(&atmel_uart, port);