diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a4b25b30..70dc45f0 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1136,6 +1136,14 @@ endif source "drivers/cpuidle/Kconfig" +config CPU_FREQ_MSM + bool + depends on CPU_FREQ && ARCH_MSM + default y + help + This enables the CPUFreq driver for Qualcomm CPUs. + If in doubt, say Y. + endmenu menu "Floating point emulation" diff --git a/arch/arm/configs/gaosp_msm_defconfig b/arch/arm/configs/gaosp_msm_defconfig index 6bcfef48..e3f2028f 100644 --- a/arch/arm/configs/gaosp_msm_defconfig +++ b/arch/arm/configs/gaosp_msm_defconfig @@ -238,7 +238,9 @@ CONFIG_MSM_SERIAL_DEBUGGER=y CONFIG_MSM_SMD=y CONFIG_MSM_ONCRPCROUTER=y CONFIG_MSM_RPCSERVERS=y -# CONFIG_MSM_CPU_FREQ_SCREEN is not set +CONFIG_MSM_CPU_FREQ_SET_MIN_MAX=y +CONFIG_MSM_CPU_FREQ_MAX=528000 +CONFIG_MSM_CPU_FREQ_MIN=245760 CONFIG_MSM_HW3D=y CONFIG_MSM_ADSP=y # CONFIG_MSM_VREG_SWITCH_INVERTED is not set @@ -352,6 +354,7 @@ CONFIG_CPU_FREQ_SAMPLING_LATENCY_MULTIPLIER=1000 CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_FREQ_MSM=y # # Floating point emulation diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index a624dc55..41b8da77 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -336,24 +336,26 @@ config MSM_RPCSERVERS help none -config MSM_CPU_FREQ_SCREEN - bool - default n - depends on HAS_EARLYSUSPEND - help - Simple cpufreq scaling based on screen ON/OFF. - -if MSM_CPU_FREQ_SCREEN - -config MSM_CPU_FREQ_SCREEN_OFF - int "Screen off cpu frequency" - default 245760 - -config MSM_CPU_FREQ_SCREEN_ON - int "Screen on cpu frequency" - default 384000 - -endif # MSM_CPU_FREQ_SCREEN +if CPU_FREQ_MSM + +config MSM_CPU_FREQ_SET_MIN_MAX + bool "Set Min/Max CPU frequencies." + default n + help + Allow setting min and max CPU frequencies. Sysfs can be used + to override these values. + +config MSM_CPU_FREQ_MAX + int "Max CPU Frequency" + depends on MSM_CPU_FREQ_SET_MIN_MAX + default 384000 + +config MSM_CPU_FREQ_MIN + int "Min CPU Frequency" + depends on MSM_CPU_FREQ_SET_MIN_MAX + default 245760 + +endif # CPU_FREQ_MSM config MSM_HW3D tristate "MSM Hardware 3D Register Driver" diff --git a/arch/arm/mach-msm/cpufreq.c b/arch/arm/mach-msm/cpufreq.c index 53179912..317e4aac 100644 --- a/arch/arm/mach-msm/cpufreq.c +++ b/arch/arm/mach-msm/cpufreq.c @@ -90,6 +90,10 @@ static int __init msm_cpufreq_init(struct cpufreq_policy *policy) BUG_ON(cpufreq_frequency_table_cpuinfo(policy, table)); policy->cur = acpuclk_get_rate(); +#ifdef CONFIG_MSM_CPU_FREQ_SET_MIN_MAX + policy->min = CONFIG_MSM_CPU_FREQ_MIN; + policy->max = CONFIG_MSM_CPU_FREQ_MAX; +#endif policy->cpuinfo.transition_latency = acpuclk_get_switch_time() * NSEC_PER_USEC; return 0; diff --git a/arch/arm/mach-msm/galaxy/board-galaxy-headset.c b/arch/arm/mach-msm/galaxy/board-galaxy-headset.c index e19258cf..8a7e5311 100755 --- a/arch/arm/mach-msm/galaxy/board-galaxy-headset.c +++ b/arch/arm/mach-msm/galaxy/board-galaxy-headset.c @@ -154,7 +154,7 @@ static ssize_t h2w_print_name(struct switch_dev *sdev, char *buf) case H2W_NO_DEVICE: return sprintf(buf, "No Device\n"); case H2W_SEC_HEADSET: - return sprintf(buf, "H2W_SEC_HEADSET\n"); + return sprintf(buf, "Headset\n"); case H2W_NORMAL_HEADSET: return sprintf(buf, "H2W_NORMAL_HEADSET\n"); } diff --git a/drivers/i2c/chips/lightsensor.c b/drivers/i2c/chips/lightsensor.c index 4cc69415..a3870220 100755 --- a/drivers/i2c/chips/lightsensor.c +++ b/drivers/i2c/chips/lightsensor.c @@ -14,7 +14,7 @@ #include #endif -#define DEBUG 1 +#define DEBUG 0 #define TIME_INT (2*HZ) // 2 sec static struct workqueue_struct *lightsensor_wq; diff --git a/drivers/staging/android/lowmemorykiller.c b/drivers/staging/android/lowmemorykiller.c index b2ab7faa..bc02e2ad 100644 --- a/drivers/staging/android/lowmemorykiller.c +++ b/drivers/staging/android/lowmemorykiller.c @@ -59,7 +59,7 @@ static int lowmem_shrink(int nr_to_scan, gfp_t gfp_mask) int selected_tasksize = 0; int array_size = ARRAY_SIZE(lowmem_adj); int other_free = global_page_state(NR_FREE_PAGES); - int other_file = global_page_state(NR_FILE_PAGES); + int other_file = global_page_state(NR_ACTIVE_FILE) + global_page_state(NR_INACTIVE_FILE); if(lowmem_adj_size < array_size) array_size = lowmem_adj_size; if(lowmem_minfree_size < array_size)