From 99f2dbf36a1a1840355394626955b385abdb1b91 Mon Sep 17 00:00:00 2001 From: Santosh Shilimkar Date: Fri, 13 Apr 2012 23:25:04 +0530 Subject: [PATCH] --- yaml --- r: 299489 b: refs/heads/master c: 5ae256dcd91bf308826a4ac19598b27ebb86a536 h: refs/heads/master i: 299487: e68c7f1deaefb3cf125bb0f92de7051eb1911460 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-omap2/serial.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 732cdc42c39c..cd5f5dcb635f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bce492c04ba8fc66a4ea0a52b181ba255daaaf54 +refs/heads/master: 5ae256dcd91bf308826a4ac19598b27ebb86a536 diff --git a/trunk/arch/arm/mach-omap2/serial.c b/trunk/arch/arm/mach-omap2/serial.c index 2e351f52938a..9fc2f44188cb 100644 --- a/trunk/arch/arm/mach-omap2/serial.c +++ b/trunk/arch/arm/mach-omap2/serial.c @@ -108,8 +108,14 @@ static void omap_uart_set_noidle(struct platform_device *pdev) static void omap_uart_set_smartidle(struct platform_device *pdev) { struct omap_device *od = to_omap_device(pdev); + u8 idlemode; - omap_hwmod_set_slave_idlemode(od->hwmods[0], HWMOD_IDLEMODE_SMART); + if (od->hwmods[0]->class->sysc->idlemodes & SIDLE_SMART_WKUP) + idlemode = HWMOD_IDLEMODE_SMART_WKUP; + else + idlemode = HWMOD_IDLEMODE_SMART; + + omap_hwmod_set_slave_idlemode(od->hwmods[0], idlemode); } #else