Home | History | Annotate | Download | only in libmemtrack
      1 /*
      2  * Copyright (C) 2013 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 #include <errno.h>
     18 
     19 #include <hardware/memtrack.h>
     20 
     21 #include "memtrack_msm.h"
     22 
     23 int msm_memtrack_init(const struct memtrack_module *module)
     24 {
     25     if(!module)
     26         return -1;
     27     return 0;
     28 }
     29 
     30 int msm_memtrack_get_memory(const struct memtrack_module *module,
     31                                 pid_t pid,
     32                                 int type,
     33                                 struct memtrack_record *records,
     34                                 size_t *num_records)
     35 {
     36     if(!module)
     37         return -1;
     38     if (type == MEMTRACK_TYPE_GL || type == MEMTRACK_TYPE_GRAPHICS) {
     39         return kgsl_memtrack_get_memory(pid, type, records, num_records);
     40     }
     41 
     42     return -EINVAL;
     43 }
     44 
     45 static struct hw_module_methods_t memtrack_module_methods = {
     46     .open = NULL,
     47 };
     48 
     49 struct memtrack_module HAL_MODULE_INFO_SYM = {
     50     .common = {
     51         .tag = HARDWARE_MODULE_TAG,
     52         .module_api_version = MEMTRACK_MODULE_API_VERSION_0_1,
     53         .hal_api_version = HARDWARE_HAL_API_VERSION,
     54         .id = MEMTRACK_HARDWARE_MODULE_ID,
     55         .name = "MSM Memory Tracker HAL",
     56         .author = "The Android Open Source Project",
     57         .methods = &memtrack_module_methods,
     58     },
     59 
     60     .init = msm_memtrack_init,
     61     .getMemory = msm_memtrack_get_memory,
     62 };
     63 
     64