summaryrefslogtreecommitdiff
path: root/hardware.c
diff options
context:
space:
mode:
authorHung-ying Tyan <tyanh@google.com>2015-11-12 11:19:45 +0800
committerHung-ying Tyan <tyanh@google.com>2015-11-12 11:24:23 +0800
commit48f57ad4f470ebcb71ac10df4e5e0953a6cfacd8 (patch)
treecc1833ffded786a1113873f082ae4e490b7c7463 /hardware.c
parent56941c9a922b45328de02e1eebc69a60d3710ce0 (diff)
downloadlibhardware-48f57ad4f470ebcb71ac10df4e5e0953a6cfacd8.tar.gz
Add /odm/lib/hw to HAL search path
ODM HALs should be compiled into /odm/lib/hw on the ODM partition. BUG: 25653199 Change-Id: I23324d8e4dc82301cebd71bc40cdd2b73a678360
Diffstat (limited to 'hardware.c')
-rw-r--r--hardware.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/hardware.c b/hardware.c
index 79d0a2fc..5394787e 100644
--- a/hardware.c
+++ b/hardware.c
@@ -31,9 +31,11 @@
#if defined(__LP64__)
#define HAL_LIBRARY_PATH1 "/system/lib64/hw"
#define HAL_LIBRARY_PATH2 "/vendor/lib64/hw"
+#define HAL_LIBRARY_PATH3 "/odm/lib64/hw"
#else
#define HAL_LIBRARY_PATH1 "/system/lib/hw"
#define HAL_LIBRARY_PATH2 "/vendor/lib/hw"
+#define HAL_LIBRARY_PATH3 "/odm/lib/hw"
#endif
/**
@@ -130,6 +132,11 @@ static int hw_module_exists(char *path, size_t path_len, const char *name,
const char *subname)
{
snprintf(path, path_len, "%s/%s.%s.so",
+ HAL_LIBRARY_PATH3, name, subname);
+ if (access(path, R_OK) == 0)
+ return 0;
+
+ snprintf(path, path_len, "%s/%s.%s.so",
HAL_LIBRARY_PATH2, name, subname);
if (access(path, R_OK) == 0)
return 0;