From d42d327c176d5819423f4bf9e211bb12bb5dde72 Mon Sep 17 00:00:00 2001 From: Ken Sumrall Date: Tue, 6 Nov 2012 17:55:37 -0800 Subject: Fix fs_mgr to properly invoke e2fsck on encrypted devices Change-Id: Ie220f5cb7b614a48ec8afe66f4721ede3a368166 --- fs_mgr/fs_mgr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs_mgr/fs_mgr.c b/fs_mgr/fs_mgr.c index 538b5be2..99adb81d 100644 --- a/fs_mgr/fs_mgr.c +++ b/fs_mgr/fs_mgr.c @@ -523,11 +523,11 @@ int fs_mgr_do_mount(char *fstab_file, char *n_name, char *n_blk_dev, char *tmp_m /* We found our match */ /* First check the filesystem if requested */ if (fstab[i].fs_mgr_flags & MF_WAIT) { - wait_for_file(fstab[i].blk_dev, WAIT_TIMEOUT); + wait_for_file(n_blk_dev, WAIT_TIMEOUT); } if (fstab[i].fs_mgr_flags & MF_CHECK) { - check_fs(fstab[i].blk_dev, fstab[i].type, fstab[i].mnt_point); + check_fs(n_blk_dev, fstab[i].type, fstab[i].mnt_point); } /* Now mount it where requested */ -- cgit v1.2.3 From 2cc3527ae70138cc8a40d9ad6e92b98d81e44701 Mon Sep 17 00:00:00 2001 From: Iliyan Malchev Date: Wed, 5 Dec 2012 15:19:07 -0800 Subject: libsuspend: compile as a static library Compile libsuspend as a static library as well, currently needed by the charger code in some cases. Related-to-bug: 7429504 Change-Id: I113017c2c855f915b77c76d8934b6e57c0bb532c Signed-off-by: Iliyan Malchev --- libsuspend/Android.mk | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libsuspend/Android.mk b/libsuspend/Android.mk index 45cb7011..a2fa3e0d 100644 --- a/libsuspend/Android.mk +++ b/libsuspend/Android.mk @@ -12,7 +12,6 @@ libsuspend_libraries := \ liblog libcutils include $(CLEAR_VARS) - LOCAL_SRC_FILES := $(libsuspend_src_files) LOCAL_MODULE := libsuspend LOCAL_MODULE_TAGS := optional @@ -21,3 +20,12 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES := $(libsuspend_libraries) #LOCAL_CFLAGS += -DLOG_NDEBUG=0 include $(BUILD_SHARED_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_SRC_FILES := $(libsuspend_src_files) +LOCAL_MODULE := libsuspend +LOCAL_MODULE_TAGS := optional +LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include +LOCAL_C_INCLUDES += $(LOCAL_PATH)/include +#LOCAL_CFLAGS += -DLOG_NDEBUG=0 +include $(BUILD_STATIC_LIBRARY) -- cgit v1.2.3 From 80828af3def1f37eff1d483520df79ebe4238d55 Mon Sep 17 00:00:00 2001 From: Benoit Goby Date: Wed, 5 Dec 2012 18:04:01 -0800 Subject: init.usb.rc: set sys.usb.config to none before changing it On encrypted devices, persistent properties are loaded after the device is decrypted. To properly change sys.usb.config to its persistent value, it must first be set to "none" and then to ${persist.sys.usb.config}. Bug: 7678835 Change-Id: I4f91245cedc04e3178ce9cee21390f5b657733c9 --- rootdir/init.usb.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/init.usb.rc b/rootdir/init.usb.rc index 15467cc2..f37b630b 100644 --- a/rootdir/init.usb.rc +++ b/rootdir/init.usb.rc @@ -88,4 +88,5 @@ on property:sys.usb.config=accessory,audio_source,adb # Used to set USB configuration at boot and to switch the configuration # when changing the default configuration on property:persist.sys.usb.config=* + setprop sys.usb.config none setprop sys.usb.config ${persist.sys.usb.config} -- cgit v1.2.3 From 9255713bcf929e7cdd2817481f0dd08f838285c3 Mon Sep 17 00:00:00 2001 From: "choongryeol.lee" Date: Thu, 15 Nov 2012 17:03:03 -0800 Subject: charger: suspend enable in charger mode To reduce power consumption after charging completion, enable suspend when LCD is turned off. Bug: 7429504 Change-Id: I34731dc392661c9051a20cea74f70d94a8aaeb42 Signed-off-by: Iliyan Malchev --- charger/Android.mk | 7 +++++++ charger/charger.c | 23 ++++++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/charger/Android.mk b/charger/Android.mk index fe0c91d9..02586042 100644 --- a/charger/Android.mk +++ b/charger/Android.mk @@ -12,6 +12,10 @@ ifeq ($(strip $(BOARD_CHARGER_DISABLE_INIT_BLANK)),true) LOCAL_CFLAGS := -DCHARGER_DISABLE_INIT_BLANK endif +ifeq ($(strip $(BOARD_CHARGER_ENABLE_SUSPEND)),true) +LOCAL_CFLAGS += -DCHARGER_ENABLE_SUSPEND +endif + LOCAL_MODULE := charger LOCAL_MODULE_TAGS := optional LOCAL_FORCE_STATIC_EXECUTABLE := true @@ -21,6 +25,9 @@ LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED) LOCAL_C_INCLUDES := bootable/recovery LOCAL_STATIC_LIBRARIES := libminui libpixelflinger_static libpng +ifeq ($(strip $(BOARD_CHARGER_ENABLE_SUSPEND)),true) +LOCAL_STATIC_LIBRARIES += libsuspend +endif LOCAL_STATIC_LIBRARIES += libz libstdc++ libcutils libm libc include $(BUILD_EXECUTABLE) diff --git a/charger/charger.c b/charger/charger.c index c5e4ec27..1bacc81f 100644 --- a/charger/charger.c +++ b/charger/charger.c @@ -41,6 +41,8 @@ #include #include +#include + #include "minui/minui.h" #ifndef max @@ -352,6 +354,21 @@ static void remove_supply(struct charger *charger, struct power_supply *supply) free(supply); } +#ifdef CHARGER_ENABLE_SUSPEND +static int request_suspend(bool enable) +{ + if (enable) + return autosuspend_enable(); + else + return autosuspend_disable(); +} +#else +static int request_suspend(bool enable) +{ + return 0; +} +#endif + static void parse_uevent(const char *msg, struct uevent *uevent) { uevent->action = ""; @@ -685,6 +702,7 @@ static void update_screen_state(struct charger *charger, int64_t now) charger->next_screen_transition = -1; gr_fb_blank(true); LOGV("[%lld] animation done\n", now); + request_suspend(true); return; } @@ -824,8 +842,10 @@ static void process_key(struct charger *charger, int code, int64_t now) } } else { /* if the power key got released, force screen state cycle */ - if (key->pending) + if (key->pending) { + request_suspend(false); kick_animation(charger->batt_anim); + } } } @@ -843,6 +863,7 @@ static void handle_input_state(struct charger *charger, int64_t now) static void handle_power_supply_state(struct charger *charger, int64_t now) { if (charger->num_supplies_online == 0) { + request_suspend(false); if (charger->next_pwr_check == -1) { charger->next_pwr_check = now + UNPLUGGED_SHUTDOWN_TIME; LOGI("[%lld] device unplugged: shutting down in %lld (@ %lld)\n", -- cgit v1.2.3 From 40156b8a91363da69675e7e4cb7947c371871654 Mon Sep 17 00:00:00 2001 From: Iliyan Malchev Date: Thu, 6 Dec 2012 17:06:36 -0800 Subject: charger: fix build Looks like libsuspend is not available on all platforms. Change-Id: Ic32dc93221f3c488e846da35235f247f4ddb4c69 Signed-off-by: Iliyan Malchev --- charger/charger.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/charger/charger.c b/charger/charger.c index 1bacc81f..25b3b1aa 100644 --- a/charger/charger.c +++ b/charger/charger.c @@ -41,7 +41,9 @@ #include #include +#ifdef CHARGER_ENABLE_SUSPEND #include +#endif #include "minui/minui.h" -- cgit v1.2.3 From fd8e6504e355d2c73a2aaad260475f72af0495bf Mon Sep 17 00:00:00 2001 From: Devin Kim Date: Fri, 7 Dec 2012 09:25:06 -0800 Subject: charger: Do not suspend when disconnecting from charger The device should be power off when disconnecting from charger. If the device enter to suspend, the device couldn't handle the power off process. So the device shouldn't suspend to handle the power off at that time Bug: 7429504 Change-Id: I9a0a60e53f315cd83550dc730a33bc7bd464ef67 --- charger/charger.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/charger/charger.c b/charger/charger.c index 25b3b1aa..353bdf08 100644 --- a/charger/charger.c +++ b/charger/charger.c @@ -704,7 +704,8 @@ static void update_screen_state(struct charger *charger, int64_t now) charger->next_screen_transition = -1; gr_fb_blank(true); LOGV("[%lld] animation done\n", now); - request_suspend(true); + if (charger->num_supplies_online > 0) + request_suspend(true); return; } -- cgit v1.2.3 From c076030eaa9f1c9215bf8bff8524c034b187ed77 Mon Sep 17 00:00:00 2001 From: Ben Cheng Date: Mon, 10 Dec 2012 14:51:32 -0800 Subject: Fix ELF header parser bug. [cherry-picked from AOSP] Program header size should be 32 instead of 40. Bug: 7696928 Change-Id: I48e411837ff8a571544b55ccc37e20202dca424c --- libcorkscrew/arch-arm/ptrace-arm.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libcorkscrew/arch-arm/ptrace-arm.c b/libcorkscrew/arch-arm/ptrace-arm.c index 868230ce..78a9ea9a 100644 --- a/libcorkscrew/arch-arm/ptrace-arm.c +++ b/libcorkscrew/arch-arm/ptrace-arm.c @@ -29,12 +29,15 @@ static void load_exidx_header(pid_t pid, map_info_t* mi, uintptr_t* out_exidx_start, size_t* out_exidx_size) { uint32_t elf_phoff; - uint32_t elf_phentsize_phnum; + uint32_t elf_phentsize_ehsize; + uint32_t elf_shentsize_phnum; if (try_get_word_ptrace(pid, mi->start + offsetof(Elf32_Ehdr, e_phoff), &elf_phoff) + && try_get_word_ptrace(pid, mi->start + offsetof(Elf32_Ehdr, e_ehsize), + &elf_phentsize_ehsize) && try_get_word_ptrace(pid, mi->start + offsetof(Elf32_Ehdr, e_phnum), - &elf_phentsize_phnum)) { - uint32_t elf_phentsize = elf_phentsize_phnum >> 16; - uint32_t elf_phnum = elf_phentsize_phnum & 0xffff; + &elf_shentsize_phnum)) { + uint32_t elf_phentsize = elf_phentsize_ehsize >> 16; + uint32_t elf_phnum = elf_shentsize_phnum & 0xffff; for (uint32_t i = 0; i < elf_phnum; i++) { uintptr_t elf_phdr = mi->start + elf_phoff + i * elf_phentsize; uint32_t elf_phdr_type; -- cgit v1.2.3 From 4f247d753a8865cd16292ff0b720b72c28049786 Mon Sep 17 00:00:00 2001 From: Todd Poynor Date: Wed, 19 Dec 2012 17:43:06 -0800 Subject: rootdir: init.rc: set perms for cpufreq governor boostpulse_duration Change-Id: I09b9a1ed548e4ffe1232f583e8ff5f026760f616 --- rootdir/init.rc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/init.rc b/rootdir/init.rc index caef3580..0face121 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -293,6 +293,8 @@ on boot chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration # Assume SMP uses shared cpufreq policy for all CPUs chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq -- cgit v1.2.3