参照元

説明

引数

返り値

参考

実装

struct ion_heap *ion_heap_create(struct ion_platform_heap *heap_data)
{
        struct ion_heap *heap = NULL;

        switch (heap_data->type) {
        case ION_HEAP_TYPE_SYSTEM_CONTIG:
                heap = ion_system_contig_heap_create(heap_data);
                break;
        case ION_HEAP_TYPE_SYSTEM:
                heap = ion_system_heap_create(heap_data);
                break;
        case ION_HEAP_TYPE_CARVEOUT:
                heap = ion_carveout_heap_create(heap_data);
                break;
        case ION_HEAP_TYPE_CHUNK:
                heap = ion_chunk_heap_create(heap_data);
                break;
        case ION_HEAP_TYPE_DMA:
                heap = ion_cma_heap_create(heap_data);
                break;
        default:
                pr_err("%s: Invalid heap type %d\n", __func__,
                       heap_data->type);
                return ERR_PTR(-EINVAL);
        }
        if (IS_ERR_OR_NULL(heap)) {
                pr_err("%s: error creating heap %s type %d base %lu size %zu\n",
                       __func__, heap_data->name, heap_data->type,
                       heap_data->base, heap_data->size);
                return ERR_PTR(-EINVAL);
        }
        heap->name = heap_data->name;
        heap->id = heap_data->id;
        return heap;
}
EXPORT_SYMBOL(ion_heap_create);

コメント


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-03-09 (水) 12:44:51