blob: 300e7bc86e1a1421f0d2a259f12582067afa96a3 [file] [log] [blame]
Dinh Nguyend94e18e2019-04-23 16:55:03 -05001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2019 Intel Corporation <www.intel.com>
4 */
5
Patrick Delaunay81313352021-04-27 11:02:19 +02006#define LOG_CATEGORY UCLASS_CACHE
7
Dinh Nguyend94e18e2019-04-23 16:55:03 -05008#include <cache.h>
9#include <dm.h>
10
11int cache_get_info(struct udevice *dev, struct cache_info *info)
12{
13 struct cache_ops *ops = cache_get_ops(dev);
14
15 if (!ops->get_info)
16 return -ENOSYS;
17
18 return ops->get_info(dev, info);
19}
20
Rick Chen0e6cfa42019-08-28 18:46:04 +080021int cache_enable(struct udevice *dev)
22{
23 struct cache_ops *ops = cache_get_ops(dev);
24
25 if (!ops->enable)
26 return -ENOSYS;
27
28 return ops->enable(dev);
29}
30
31int cache_disable(struct udevice *dev)
32{
33 struct cache_ops *ops = cache_get_ops(dev);
34
35 if (!ops->disable)
36 return -ENOSYS;
37
38 return ops->disable(dev);
39}
40
Dinh Nguyend94e18e2019-04-23 16:55:03 -050041UCLASS_DRIVER(cache) = {
42 .id = UCLASS_CACHE,
43 .name = "cache",
44 .post_bind = dm_scan_fdt_dev,
45};