uboot/drivers/smem/smem-uclass.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0+
   2/*
   3 * Copyright (c) 2018 Ramon Fried <ramon.fried@gmail.com>
   4 */
   5
   6#include <common.h>
   7#include <dm.h>
   8#include <smem.h>
   9
  10int smem_alloc(struct udevice *dev, unsigned int host,
  11                unsigned int item, size_t size)
  12{
  13        struct smem_ops *ops = smem_get_ops(dev);
  14
  15        if (!ops->alloc)
  16                return -ENOSYS;
  17
  18        return ops->alloc(host, item, size);
  19}
  20
  21void *smem_get(struct udevice *dev, unsigned int host,
  22                unsigned int item, size_t *size)
  23{
  24        struct smem_ops *ops = smem_get_ops(dev);
  25
  26        if (!ops->get)
  27                return NULL;
  28
  29        return ops->get(host, item, size);
  30}
  31
  32int smem_get_free_space(struct udevice *dev, unsigned int host)
  33{
  34        struct smem_ops *ops = smem_get_ops(dev);
  35
  36        if (!ops->get_free_space)
  37                return -ENOSYS;
  38
  39        return ops->get_free_space(host);
  40}
  41
  42UCLASS_DRIVER(smem) = {
  43        .id     = UCLASS_SMEM,
  44        .name       = "smem",
  45};
  46