|
@@ -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);
|