mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: (31 commits)
avr32: Fix typo of IFSR in a comment in the PIO header file
avr32: Power Management support ("standby" and "mem" modes)
avr32: Add system device for the internal interrupt controller (intc)
avr32: Add simple SRAM allocator
avr32: Enable SDRAMC clock at startup
rtc-at32ap700x: Enable wakeup
macb: Basic suspend/resume support
atmel_serial: Drain console TX shifter before suspending
atmel_serial: Fix build on avr32 with CONFIG_PM enabled
avr32: Use a quicklist for PTE allocation as well
avr32: Use a quicklist for PGD allocation
avr32: Cover the kernel page tables in the user PGDs
avr32: Store virtual addresses in the PGD
avr32: Remove useless zeroing of swapper_pg_dir at startup
avr32: Clean up and optimize the TLB operations
avr32: Rename at32ap.c -> pdc.c
avr32: Move setup_platform() into chip-specific file
avr32: Kill special exception handler sections
avr32: Kill unneeded #include <asm/pgalloc.h> from asm/mmu_context.h
avr32: Clean up time.c #includes
...
This commit is contained in:
commit
6c118e43dc
36 changed files with 1093 additions and 280 deletions
|
|
@ -1439,14 +1439,29 @@ 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)
|
||||
{
|
||||
struct uart_port *port = platform_get_drvdata(pdev);
|
||||
struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);
|
||||
|
||||
if (atmel_is_console_port(port) && console_suspend_enabled) {
|
||||
/* Drain the TX shifter */
|
||||
while (!(UART_GET_CSR(port) & ATMEL_US_TXEMPTY))
|
||||
cpu_relax();
|
||||
}
|
||||
|
||||
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);
|
||||
|
|
|
|||
Loading…
Reference in a new issue