summaryrefslogtreecommitdiffstats
path: root/hardware.c
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2009-04-10 14:24:31 -0700
committerMathias Agopian <mathias@google.com>2009-04-10 14:24:31 -0700
commita8a75166a2d3c7639a7432a67075c98796165206 (patch)
tree38811b92caa0085a823a805b1706917a8b8540f2 /hardware.c
parentcfce2add7e2bac420f2b720bcb5ece0339b7a86d (diff)
downloadhardware_libhardware-a8a75166a2d3c7639a7432a67075c98796165206.tar.gz
hardware_libhardware-a8a75166a2d3c7639a7432a67075c98796165206.tar.bz2
hardware_libhardware-a8a75166a2d3c7639a7432a67075c98796165206.zip
Integrate from //sandbox/mathias/donut/...@145728
SurfaceFlinger rework for new EGL driver model support.
Diffstat (limited to 'hardware.c')
-rw-r--r--hardware.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/hardware.c b/hardware.c
index cc68602..ffc9a25 100644
--- a/hardware.c
+++ b/hardware.c
@@ -62,7 +62,7 @@ static int load(const char *id,
{
int status;
void *handle;
- const struct hw_module_t *hmi;
+ struct hw_module_t *hmi;
char path[PATH_MAX];
/* Construct the path. */
@@ -78,14 +78,14 @@ static int load(const char *id,
handle = dlopen(path, RTLD_NOW);
if (handle == NULL) {
char const *err_str = dlerror();
- LOGW("load: module=%s error=%s", path, err_str);
+ //LOGW("load: module=%s error=%s", path, err_str);
status = -EINVAL;
goto done;
}
/* Get the address of the struct hal_module_info. */
const char *sym = HAL_MODULE_INFO_SYM_AS_STR;
- hmi = (const struct hw_module_t *)dlsym(handle, sym);
+ hmi = (struct hw_module_t *)dlsym(handle, sym);
if (hmi == NULL) {
char const *err_str = dlerror();
LOGE("load: couldn't find symbol %s", sym);
@@ -99,6 +99,8 @@ static int load(const char *id,
status = -EINVAL;
goto done;
}
+
+ hmi->dso = handle;
/* success */
status = 0;