* Kevin Hilman <[email protected]> [090519 10:15]:
> The sysfs control /sys/power/clocks_off_while_idle only affects
> the UART clocks.  And these can now be controlled with a UART
> specific timeout sysfs control.  The system default behavior
> is to have the equivalent of clocks_off_while_idle == 1 and
> a UART inactivity timeout of 5 seconds.
> 
> Now one can use
> 
>   /sys/devices/platform/serial8250.<uart>/sleep_timeout
> 
> to set the inactivity timer for the UART in seconds.  Setting
> this value to zero disables the timout and is the equivalent
> of doing an
> 
>   echo 0 > /sys/power/clocks_off_while_idle

Sounds like a nice improvment to me!

Tony

> 
> Signed-off-by: Kevin Hilman <[email protected]>
> ---
>  arch/arm/mach-omap2/pm.c     |   12 ------------
>  arch/arm/mach-omap2/pm.h     |    1 -
>  arch/arm/mach-omap2/serial.c |    3 ---
>  3 files changed, 0 insertions(+), 16 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
> index 58ed520..8633f86 100644
> --- a/arch/arm/mach-omap2/pm.c
> +++ b/arch/arm/mach-omap2/pm.c
> @@ -39,7 +39,6 @@
>  #include "pm.h"
>  
>  unsigned short enable_dyn_sleep;
> -unsigned short clocks_off_while_idle;
>  unsigned short enable_off_mode;
>  unsigned short voltage_off_while_idle;
>  unsigned short wakeup_timer_seconds;
> @@ -52,9 +51,6 @@ static ssize_t idle_store(struct kobject *k, struct 
> kobj_attribute *,
>  static struct kobj_attribute sleep_while_idle_attr =
>       __ATTR(sleep_while_idle, 0644, idle_show, idle_store);
>  
> -static struct kobj_attribute clocks_off_while_idle_attr =
> -     __ATTR(clocks_off_while_idle, 0644, idle_show, idle_store);
> -
>  static struct kobj_attribute enable_off_mode_attr =
>       __ATTR(enable_off_mode, 0644, idle_show, idle_store);
>  
> @@ -85,8 +81,6 @@ static ssize_t idle_show(struct kobject *kobj, struct 
> kobj_attribute *attr,
>  {
>       if (attr == &sleep_while_idle_attr)
>               return sprintf(buf, "%hu\n", enable_dyn_sleep);
> -     else if (attr == &clocks_off_while_idle_attr)
> -             return sprintf(buf, "%hu\n", clocks_off_while_idle);
>       else if (attr == &enable_off_mode_attr)
>               return sprintf(buf, "%hu\n", enable_off_mode);
>       else if (attr == &voltage_off_while_idle_attr)
> @@ -109,8 +103,6 @@ static ssize_t idle_store(struct kobject *kobj, struct 
> kobj_attribute *attr,
>  
>       if (attr == &sleep_while_idle_attr) {
>               enable_dyn_sleep = value;
> -     } else if (attr == &clocks_off_while_idle_attr) {
> -             clocks_off_while_idle = value;
>       } else if (attr == &enable_off_mode_attr) {
>               enable_off_mode = value;
>               omap3_pm_off_mode_enable(enable_off_mode);
> @@ -255,10 +247,6 @@ static int __init omap_pm_init(void)
>       if (error)
>               printk(KERN_ERR "sysfs_create_file failed: %d\n", error);
>       error = sysfs_create_file(power_kobj,
> -                               &clocks_off_while_idle_attr.attr);
> -     if (error)
> -             printk(KERN_ERR "sysfs_create_file failed: %d\n", error);
> -     error = sysfs_create_file(power_kobj,
>                                 &enable_off_mode_attr.attr);
>       if (error) {
>               printk(KERN_ERR "sysfs_create_file failed: %d\n", error);
> diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
> index e523d75..2547e1b 100644
> --- a/arch/arm/mach-omap2/pm.h
> +++ b/arch/arm/mach-omap2/pm.h
> @@ -24,7 +24,6 @@ static inline int omap3_idle_init(void) { return 0; }
>  #endif
>  
>  extern unsigned short enable_dyn_sleep;
> -extern unsigned short clocks_off_while_idle;
>  extern unsigned short enable_off_mode;
>  extern unsigned short voltage_off_while_idle;
>  extern atomic_t sleep_block;
> diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
> index c9059fd..8c27700 100644
> --- a/arch/arm/mach-omap2/serial.c
> +++ b/arch/arm/mach-omap2/serial.c
> @@ -263,9 +263,6 @@ void omap_uart_prepare_idle(int num)
>       struct omap_uart_state *uart;
>  
>       list_for_each_entry(uart, &uart_list, node) {
> -             if (!clocks_off_while_idle)
> -                     continue;
> -
>               if (num == uart->num && uart->can_sleep) {
>                       omap_uart_disable_clocks(uart);
>                       return;
> -- 
> 1.6.2.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to