net: mt7628-eth: remove hardcoded gpio settings and regmap-based phy reset
[oweals/u-boot.git] / drivers / smem / smem-uclass.c
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
10 int 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
21 void *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
32 int 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
42 UCLASS_DRIVER(smem) = {
43         .id     = UCLASS_SMEM,
44         .name       = "smem",
45 };