diff options
-rw-r--r-- | hw/memory/memory.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/hw/memory/memory.c b/hw/memory/memory.c index 6261da2..462b58a 100644 --- a/hw/memory/memory.c +++ b/hw/memory/memory.c @@ -18,7 +18,7 @@ #include <stdlib.h> #include <errno.h> -#include <hal/hal-memory-interface.h> +#include <hal/hal-device-memory-interface.h> #include <hal/hal-common-interface.h> #include </hal/include/device/hal-backend-common.h> @@ -26,12 +26,12 @@ #define GEM_INFO_PATH "/sys/kernel/debug/dri/0/gem_info" #define BYTES_PER_KBYTE 1024 -static int memory_get_gpu_info(const int pid, struct gpu_info *info) +static int memory_get_gpu_info(const int pid, hal_device_memory_gpu_info_s *info) { return -ENODEV; } -static int memory_get_gem_info(const int pid, struct gem_info *info) +static int memory_get_gem_info(const int pid, hal_device_memory_gem_info_s *info) { FILE *fp; char line[1024]; @@ -85,16 +85,19 @@ static int memory_get_gem_info(const int pid, struct gem_info *info) static int memory_init(void **data) { - hal_backend_memory_funcs *memory_funcs; + hal_backend_device_memory_funcs *device_memory_funcs; - memory_funcs = calloc(1, sizeof(hal_backend_memory_funcs)); - if (!memory_funcs) - return -ENOMEM; + if (!data) { + _E("Invalid parameter"); + return -EINVAL; + } - memory_funcs->get_gpu_info = memory_get_gpu_info; - memory_funcs->get_gem_info = memory_get_gem_info; + device_memory_funcs = *(hal_backend_device_memory_funcs **) data; + if (!device_memory_funcs) + return -EINVAL; - *data = (void *)memory_funcs; + device_memory_funcs->get_gpu_info = memory_get_gpu_info; + device_memory_funcs->get_gem_info = memory_get_gem_info; return 0; } |