1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2019 Intel Corporation <www.intel.com>
4 */
5
6#define LOG_CATEGORY UCLASS_CACHE
7
8#include <common.h>
9#include <cache.h>
10#include <dm.h>
11
12int cache_get_info(struct udevice *dev, struct cache_info *info)
13{
14	struct cache_ops *ops = cache_get_ops(dev);
15
16	if (!ops->get_info)
17		return -ENOSYS;
18
19	return ops->get_info(dev, info);
20}
21
22int cache_enable(struct udevice *dev)
23{
24	struct cache_ops *ops = cache_get_ops(dev);
25
26	if (!ops->enable)
27		return -ENOSYS;
28
29	return ops->enable(dev);
30}
31
32int cache_disable(struct udevice *dev)
33{
34	struct cache_ops *ops = cache_get_ops(dev);
35
36	if (!ops->disable)
37		return -ENOSYS;
38
39	return ops->disable(dev);
40}
41
42UCLASS_DRIVER(cache) = {
43	.id		= UCLASS_CACHE,
44	.name		= "cache",
45	.post_bind	= dm_scan_fdt_dev,
46};
47