Commit graph

44 commits

Author SHA1 Message Date
Yifan Hong
b200c60221 libsuspend: vendor_available.
This is needed by charger in vendor.

Test: builds
Bug: 203246116
Change-Id: I55c5cace9dcd7b2fd475d61234bd469428b4caac
2021-11-02 13:52:40 -07:00
Bob Badour
d69ad69a93 [LSC] Add LOCAL_LICENSE_KINDS to system/core
Added SPDX-license-identifier-Apache-2.0 to:
  bootstat/Android.bp
  cli-test/Android.bp
  code_coverage/Android.bp
  cpio/Android.bp
  debuggerd/crasher/Android.bp
  debuggerd/proto/Android.bp
  diagnose_usb/Android.bp
  fs_mgr/libdm/Android.bp
  fs_mgr/libfiemap/Android.bp
  fs_mgr/liblp/Android.bp
  fs_mgr/libsnapshot/Android.bp
  fs_mgr/libstorage_literals/Android.bp
  fs_mgr/libvbmeta/Android.bp
  fs_mgr/tests/Android.bp
  fs_mgr/tools/Android.bp
  gatekeeperd/Android.bp
  healthd/Android.bp
  healthd/testdata/Android.bp
  init/Android.bp
  init/Android.mk
  init/sysprop/Android.bp
  init/test_kill_services/Android.bp
  init/test_service/Android.bp
  libappfuse/Android.bp
  libasyncio/Android.bp
  libbinderwrapper/Android.bp
  libcrypto_utils/Android.bp
  libcrypto_utils/tests/Android.bp
  libdiskconfig/Android.bp
  libgrallocusage/Android.bp
  libkeyutils/mini_keyctl/Android.bp
  libmodprobe/Android.bp
  libnetutils/Android.bp
  libpackagelistparser/Android.bp
  libprocessgroup/Android.bp
  libprocessgroup/cgrouprc/Android.bp
  libprocessgroup/cgrouprc_format/Android.bp
  libprocessgroup/profiles/Android.bp
  libprocessgroup/setup/Android.bp
  libqtaguid/Android.bp
  libsparse/Android.bp
  libstats/push_compat/Android.bp
  libsuspend/Android.bp
  libsync/Android.bp
  libsystem/Android.bp
  libsysutils/Android.bp
  libusbhost/Android.bp
  libutils/Android.bp
  libvndksupport/Android.bp
  libvndksupport/tests/Android.bp
  llkd/Android.bp
  llkd/tests/Android.bp
  property_service/libpropertyinfoparser/Android.bp
  property_service/libpropertyinfoserializer/Android.bp
  property_service/property_info_checker/Android.bp
  qemu_pipe/Android.bp
  reboot/Android.bp
  rootdir/Android.bp
  rootdir/Android.mk
  rootdir/avb/Android.bp
  rootdir/avb/Android.mk
  run-as/Android.bp
  sdcard/Android.bp
  set-verity-state/Android.bp
  shell_and_utilities/Android.bp
  storaged/Android.bp
  toolbox/Android.bp
  trusty/apploader/Android.bp
  trusty/confirmationui/Android.bp
  trusty/confirmationui/fuzz/Android.bp
  trusty/coverage/Android.bp
  trusty/fuzz/Android.bp
  trusty/fuzz/test/Android.bp
  trusty/gatekeeper/Android.bp
  trusty/gatekeeper/fuzz/Android.bp
  trusty/keymaster/Android.bp
  trusty/keymaster/fuzz/Android.bp
  trusty/libtrusty/Android.bp
  trusty/libtrusty/tipc-test/Android.bp
  trusty/secure_dpu/Android.bp
  trusty/storage/interface/Android.bp
  trusty/storage/lib/Android.bp
  trusty/storage/proxy/Android.bp
  trusty/storage/tests/Android.bp
  trusty/utils/spiproxyd/Android.bp
  trusty/utils/trusty-ut-ctrl/Android.bp
  usbd/Android.bp
  watchdogd/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:
  debuggerd/Android.bp
  fastboot/Android.bp
  libkeyutils/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
    SPDX-license-identifier-MIT
to:
  libcutils/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
to:
  fs_mgr/Android.bp
  fs_mgr/libfs_avb/Android.bp
  trusty/Android.bp
  trusty/utils/rpmb_dev/Android.bp

Added SPDX-license-identifier-BSD
to:
  fastboot/fuzzy_fastboot/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: Id740a7d2884556081fdb68876584b25eb95e1bef
2021-02-19 12:59:05 -08:00
Elliott Hughes
c3a206ccda Revert "[LSC] Add LOCAL_LICENSE_KINDS to system/core"
This reverts commit 187b7d1950.

Reason for revert: system/core is multiple projects, not one.

Change-Id: I790ea41741f8cd9b8b6db2f59a49e71fb0958fd6
2021-02-16 20:01:20 +00:00
Bob Badour
187b7d1950 [LSC] Add LOCAL_LICENSE_KINDS to system/core
Added SPDX-license-identifier-Apache-2.0 to:
  bootstat/Android.bp
  cli-test/Android.bp
  code_coverage/Android.bp
  cpio/Android.bp
  debuggerd/crasher/Android.bp
  debuggerd/proto/Android.bp
  diagnose_usb/Android.bp
  fs_mgr/libdm/Android.bp
  fs_mgr/libfiemap/Android.bp
  fs_mgr/liblp/Android.bp
  fs_mgr/libsnapshot/Android.bp
  fs_mgr/libstorage_literals/Android.bp
  fs_mgr/libvbmeta/Android.bp
  fs_mgr/tests/Android.bp
  fs_mgr/tools/Android.bp
  gatekeeperd/Android.bp
  healthd/Android.bp
  healthd/testdata/Android.bp
  init/Android.bp
  init/Android.mk
  init/sysprop/Android.bp
  init/test_kill_services/Android.bp
  init/test_service/Android.bp
  libappfuse/Android.bp
  libasyncio/Android.bp
  libbinderwrapper/Android.bp
  libcrypto_utils/Android.bp
  libcrypto_utils/tests/Android.bp
  libdiskconfig/Android.bp
  libgrallocusage/Android.bp
  libkeyutils/mini_keyctl/Android.bp
  libmodprobe/Android.bp
  libnetutils/Android.bp
  libpackagelistparser/Android.bp
  libprocessgroup/Android.bp
  libprocessgroup/cgrouprc/Android.bp
  libprocessgroup/cgrouprc_format/Android.bp
  libprocessgroup/profiles/Android.bp
  libprocessgroup/setup/Android.bp
  libqtaguid/Android.bp
  libsparse/Android.bp
  libstats/push_compat/Android.bp
  libsuspend/Android.bp
  libsync/Android.bp
  libsystem/Android.bp
  libsysutils/Android.bp
  libusbhost/Android.bp
  libutils/Android.bp
  libvndksupport/Android.bp
  libvndksupport/tests/Android.bp
  llkd/Android.bp
  llkd/tests/Android.bp
  property_service/libpropertyinfoparser/Android.bp
  property_service/libpropertyinfoserializer/Android.bp
  property_service/property_info_checker/Android.bp
  qemu_pipe/Android.bp
  reboot/Android.bp
  rootdir/Android.bp
  rootdir/Android.mk
  rootdir/avb/Android.bp
  rootdir/avb/Android.mk
  run-as/Android.bp
  sdcard/Android.bp
  set-verity-state/Android.bp
  shell_and_utilities/Android.bp
  storaged/Android.bp
  toolbox/Android.bp
  trusty/apploader/Android.bp
  trusty/confirmationui/Android.bp
  trusty/confirmationui/fuzz/Android.bp
  trusty/coverage/Android.bp
  trusty/fuzz/Android.bp
  trusty/fuzz/test/Android.bp
  trusty/gatekeeper/Android.bp
  trusty/gatekeeper/fuzz/Android.bp
  trusty/keymaster/Android.bp
  trusty/keymaster/fuzz/Android.bp
  trusty/libtrusty/Android.bp
  trusty/libtrusty/tipc-test/Android.bp
  trusty/secure_dpu/Android.bp
  trusty/storage/interface/Android.bp
  trusty/storage/lib/Android.bp
  trusty/storage/proxy/Android.bp
  trusty/storage/tests/Android.bp
  trusty/utils/spiproxyd/Android.bp
  trusty/utils/trusty-ut-ctrl/Android.bp
  usbd/Android.bp
  watchdogd/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:
  debuggerd/Android.bp
  fastboot/Android.bp
  libkeyutils/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
    SPDX-license-identifier-MIT
to:
  Android.bp
  libcutils/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT
to:
  fs_mgr/Android.bp
  fs_mgr/libfs_avb/Android.bp
  trusty/utils/rpmb_dev/Android.bp

Added SPDX-license-identifier-BSD
to:
  fastboot/fuzzy_fastboot/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I5bd81adb5cdcf2b4dd4141b204eb430ff526af8f
2021-02-16 04:10:03 -08:00
Tri Vo
f8398ee24c Remove libsuspend from VNDK.
Only platform should ever have access to libsuspend

Test: presubmit
Change-Id: I5d58aeb98d5e777d81d4d65f7a62fe2fb50a72d4
2018-08-14 13:39:55 -07:00
Steve Paik
10b149f18f Add force_suspend function
This CL implements a simple force_suspend().  This function takes a
timeoutMs argument that is currently ignored.  It also uses a two-stage
init process that spawns the suspend_thread when autosuspend is in use.

Follow-up CLs will:
- Implement file locking to prevent multiple libsuspend instances from
starting multiple suspend threads in the system.
- Fully implement timout for force_suspend.
- Integrate force_suspend with suspend_thred.

Bug: 70669809
Test:  autosuspend still works
Change-Id: I6b2c72d0c61d1bec6db0f0b28481ffe0e20ec615
2018-01-19 12:30:39 -08:00
Steve Paik
d5dc807475 Fix logging in libsuspend
ALOGV --> LOG(VERBOSE)
ALOGE --> PLOG(ERROR)

Also cpp-ify file handling

Bug: 70669809
Test:  Logs work
Change-Id: Idbaf3dccb495cdcd11f411c70784d19d1faa13a5
2018-01-08 13:35:35 -08:00
Steve Paik
db88774631 Convert autosuspend_wakeup_count.c to cpp
Change this file to cpp before cleaning it up.

Bug: 70669809
Test:  Suspend works
Change-Id: Ice927dbb205447a94f33b417e32f7c2cd79613eb
2017-12-20 17:02:31 -08:00
Steve Paik
2d44190539 Create wrapper function for set_wakeup_callback
Bug: 70669809
Test:  Compiles

Change-Id: I55f8b9995c2d872504b586addb07a18206da7fbe
2017-12-18 10:22:04 -08:00
Steve Paik
fea16e1dea Fix LOG() messages to drop \n
Bug: 70669809
Test: It's gone
Change-Id: Id66776a229be677c89968d1e0dc81fc8b4b7de5d
2017-12-14 17:31:58 -08:00
Justin Yun
8c03107614 Merge "Mark the modules as VNDK in Android.bp"
am: 5d1e740e7f

Change-Id: Ie22de4d907116cf2ba74f875679506a3d2a41feb
2017-09-15 16:31:01 +00:00
Justin Yun
6a7e882316 Mark the modules as VNDK in Android.bp
As a VNDK module, Android.bp must have 'vndk' tag as well as
'vendor_available: true'.

The 'vndk' tag for VNDK module is formated as below:
vndk: {
        enabled: true,
},

VNDK modules will be installed both in system/lib(64) as normal and
in system/lib(64)/vndk as a vendor variant.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Merged-In: Icecb22ed2ed0f58c3168605d4cf64815e2dda750
Change-Id: Icecb22ed2ed0f58c3168605d4cf64815e2dda750
(cherry picked from commit 9b0ed72942)
2017-09-14 08:35:16 +00:00
Jayant Chowdhary
3a938c86e3 Merge "Mark libsuspend vendor_available." am: 6e2d24ab5a am: 1c8e482995 am: 89fc3a6525
am: e9a9a28e4c

Change-Id: I827bec9cc72d0831e3804014cd181ef4a59e5e45
2017-05-25 17:38:16 +00:00
Jayant Chowdhary
e9a9a28e4c Merge "Mark libsuspend vendor_available." am: 6e2d24ab5a am: 1c8e482995
am: 89fc3a6525

Change-Id: I77469e8a33fcee1eeba37ceebbb39ccfc0a047c3
2017-05-25 17:29:13 +00:00
Jayant Chowdhary
e37259ec8b Mark libsuspend vendor_available.
libsuspend belongs to vndk-cap. Mark it vendor_available to enable vndk
abi stability checks on it.

Details: https://android-review.googlesource.com/368372

Test: mm -j64

Bug: 38244611

Change-Id: I2243c6d8710b6b2f80375849e82afba28a735507
2017-05-24 14:44:30 -07:00
Ajay Dudani
0c5f7d8389 Revert "Revert "libsuspend: move to exponential backoff""
Test: Left device overnight, libsuspend exponential backoff
path was exercised multiple time and device went into suspend.

This reverts commit 23c8bab024.

Change-Id: Ifa5c41bc1ca5da7baa28b216d70305c98806bf36
2017-04-18 15:38:18 -07:00
Mark Salyzyn
271a1a7cda resolve merge conflicts of a45b1d6f3 to master
Test: compile
Bug: 30465923
Change-Id: I648855539df3cfa176c6ecac19b6a562ba6feaf7
2017-01-11 11:41:38 -08:00
Mark Salyzyn
5482cb01b2 Merge "liblog: use log/log.h when utilizing ALOG macros" am: 01e12b4ee7
am: c3b346ea93

Change-Id: I0ee5652701e23d751def8bac82534af530ea5dc8
2017-01-11 19:20:50 +00:00
Mark Salyzyn
30f991f251 liblog: use log/log.h when utilizing ALOG macros
Test: compile
Bug: 30465923
Change-Id: Id6d76510819ebd88c3f5003d00d73a0dbe85e943
2017-01-11 09:31:15 -08:00
Tim Murray
021d60be98 libsuspend: remove autosleep and earlysuspend
autosleep and earlysuspend are long-deprecated, so remove them to make
libsuspend slightly more comprehensible.

Test: builds and still suspends on marlin

bug 32621856

Change-Id: I66a904c3fce0111fb5e9d1ab9d205c97617ae210
2016-11-02 15:49:56 -07:00
Tim Murray
274359228c Revert "libsuspend: move to exponential backoff" am: 23c8bab024
am: 4dcd461945

Change-Id: Ie1087acf944c43ab2c4f02a63817563d6125393f
2016-10-18 18:52:09 +00:00
Tim Murray
23c8bab024 Revert "libsuspend: move to exponential backoff"
This reverts commit fb896944b6.

bug 32180327

Change-Id: Ic26bdffac6c56b102348f5393e6eb5d895960d7e
2016-10-18 17:05:59 +00:00
Tim Murray
20350c8418 libsuspend: move to exponential backoff am: fb896944b6
am: cf11830695

Change-Id: Ic3289a6cf433ee1c0c9b468ea8380493663ed84f
2016-10-12 18:20:51 +00:00
Tim Murray
fb896944b6 libsuspend: move to exponential backoff
If for some reason the system can't suspend (usually a driver bug),
libsuspend will currently attempt to retry suspend after 100ms. Because
entering suspend takes a significant amount of CPU time, this can be
extremely expensive and be a major contributor to rapid battery
drain. Move autosuspend to use exponential backoff if the previous
suspend attempt failed.

bug 32092914

Change-Id: I3e9e944f290de5f1853a02e3f61721ba9159df46
2016-10-11 14:51:34 -07:00
Mark Salyzyn
66ce3e08c5 system/core Replace cutils/log.h with android/log.h
Should use android/log.h instead of cutils/log.h as a good example
to all others.  Adjust header order to comply with Android Coding
standards.

Test: Compile
Bug: 26552300
Bug: 31289077
Change-Id: I2c9cbbbd64d8dccf2d44356361d9742e4a9b9031
2016-09-30 12:47:05 -07:00
Dan Willemsen
45f05240c2 Convert more Android.mk files to Android.bp
These modules have their dependencies satisfied, and aren't doing
anything strange.

Change-Id: I72039a15256cbd5e5eee0d79a15d66d74a6c087d
2016-07-13 17:41:45 -07:00
Ruchi Kandoi
d3027d85f3 Adds a parameter to the wakeup_callback to report sucessful wakeup or suspend aborts.
Adds the call to wakeup_callback when the write to the /sys/power/state
fails. This will help userspace account for the suspend aborts.

Bug: 17478088
Bug: 18179405
Change-Id: Icd1194cfbaf61044ca0b2fe63a10a4c52e1535bc
2015-06-25 13:15:22 -07:00
Jeff Brown
0446e16f53 Add TEMP_FAILURE_RETRY to libsuspend.
In testing, I observed one instance of a call failing due to a signal
sent to the process.  This could happen at various times so it's better
to be safe than sorry.

Bug: 20534809
Change-Id: I42242087300d8b840a50aec34aa6b2e1507cab50
2015-05-18 15:53:56 -07:00
Andreas Gampe
487f98447a Libsuspend: Remove unused variable
For build-system CFLAGS clean-up, remove unused variable.

Change-Id: I34bd33fd24b02ee58b64029146c253c61651d45f
2014-11-24 18:53:44 -08:00
Mark Salyzyn
c5e01d8616 am 1291df76: am c5fa4b19: am 065c2706: Merge "libsuspend: Turn on -Werror"
* commit '1291df76956407d08e673443786f92c9a16006c1':
  libsuspend: Turn on -Werror
2014-05-22 19:21:07 +00:00
Mark Salyzyn
6e60d390d0 libsuspend: Turn on -Werror
Change-Id: I4ea982ab7d68a596ac79d93a01c05a109d24672d
2014-05-21 12:58:38 -07:00
Sasha Levitskiy
e2acb82a94 am 43cb7ae6: am 4f362e43: am 835526fd: Merge "Cleanup: warning fixit."
* commit '43cb7ae6c31ced8cd518eab59dfea31ab1ade812':
  Cleanup: warning fixit.
2014-04-12 00:02:33 +00:00
Sasha Levitskiy
cdc1cfb3e5 Cleanup: warning fixit.
bootable/recovery has a dependent commit: I9adb470b04e4301989d128c9c3097b21b4dea431

Change-Id: Icf23e659265d71d5226d527c2b40cfbc132320ee
Signed-off-by: Sasha Levitskiy <sanek@google.com>
2014-04-11 16:15:46 -07:00
Dianne Hackborn
9552cdf434 Add ability to have a callback when wakeups happen.
Change-Id: I02ff0e035bf8a97bd1a3b6b1699181fc3a137d79
2014-03-07 11:00:39 -08:00
Todd Poynor
6f26891d67 libsuspend: use wakeup count interface for system suspend
Use the wakeup count interface for requesting suspend, instead of
autosleep, to allow userspace to collect stats on suspend/resume
activity.

Change-Id: I44b5ef031b2bdc5b09c904fb2adbbe16370c2984
2014-03-04 20:02:53 -08:00
Iliyan Malchev
f3104fe5ce am 76edb14f: am 2cc3527a: libsuspend: compile as a static library
* commit '76edb14f94069b11f36250390556d7c3c1853026':
  libsuspend: compile as a static library
2012-12-06 18:59:59 -08:00
Iliyan Malchev
2cc3527ae7 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 <malchev@google.com>
2012-12-05 16:03:34 -08:00
Kyle Russell
a26b4caf4c autosuspend_inited flag set even if initialization fails
Prevents possible SIGSEGV on second autosuspend_enable attempt when
first intialization attempt fails.  autosuspend_inited should only
be set once autosuspend_ops has been assigned.

Consider the first call to autosuspend_enable().
autosuspend_init() sets its inited flag to true, and attempts to
set autosuspend_ops.  If all the other autosuspend_*_init() attempts
fail, autosuspend_init() returns -1, which autosuspend_enable()
will return as a failure.  A second call to autosuspend_enable()
will check autosuspend_init() and see that autosuspend has already
been initialized.  It will attempt to access autosuspend_ops, which
were not set in the first initialization attempt, causing a SIGSEGV.

Change-Id: Ib2d3ee62fee4c3b6d0323e5b7f3709a23c6b923f
2012-11-20 09:12:39 -05:00
Colin Cross
b98865586b libsuspend: force autosleep off during init
If autosuspend_autosleep_init is called when autosleep is enabled,
for example after a runtime restart with the screen off, the kernel
autosleep state will be enabled, but autosuspend_enabled is false.
Further calls to autosuspend_disable by the framework will not result
in autosleep being disabled.

Call autosuspend_autosleep_disable from autosuspend_autosleep_init
to get the kernel state into a known state that matches the
autosuspend_enabled flag.

Bug: 7119416
Change-Id: I8611e4fd256838272aad4382c2340508805b0376
2012-09-21 18:39:17 -07:00
Stephen Hines
30f52fea05 am 67bdfa98: am d25b8502: Merge "Fix unused param warning"
* commit '67bdfa9823dd954fdfaa01721da17d8252fc05d1':
  Fix unused param warning
2012-08-08 17:44:07 -07:00
Edwin Vane
62f9ffac1a Fix unused param warning
libsuspend had only a single warning in the clang build. Fixing it to
make the build clean.

Change-Id: Iaac5f9144b6e6cb122141c6416056c1b2c9aa98e
Author: Edwin Vane <edwin.vane@intel.com>
Reviewed-by: Kevin P Schoedel <kevin.p.schoedel@intel.com>
2012-08-02 10:40:12 -04:00
Colin Cross
f25dd878df libsuspend: wait for earlysuspend transition to finish
Wait for the early suspend transition to finish to the point where
surfaceflinger would previously have synchronized.  This is important
during screen on, to ensure the display early suspend handlers have
completed before surfaceflinger unblanks.

Change-Id: I91ac0253d9655c3f1ae3dd7f1a918c279568b23e
2012-06-14 15:13:10 -07:00
Colin Cross
2146b7f2d7 libsuspend: always unblock early suspend
SurfaceFlinger and PowerManagerService manage their synchronization
without the help of early suspend, and SurfaceFlinger no longer unblocks
early suspend.  Add a new thread when early suspend is detected that will
immediately unblock early suspend.

Change-Id: I87ef4984a2ab34cbbb3af8b7762236b9a92dc2ea
2012-06-07 17:15:17 -07:00
Colin Cross
a2582c2c4d libsuspend: create new library to handle triggering suspend
libsuspend provides functions autosuspend_enable() and
autosuspend_disable() to trigger suspend on a variety of different
kernels.

Change-Id: I5dc28fb51532fa7c514330f1cfde7698d31d734c
2012-05-07 15:33:34 -07:00