Merge tag 'xfs-6.4-rc1-fixes' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
[linux-block.git] / include / linux / arm-cci.h
CommitLineData
1a59d1b8 1/* SPDX-License-Identifier: GPL-2.0-or-later */
ed69bdd8
LP
2/*
3 * CCI cache coherent interconnect support
4 *
5 * Copyright (C) 2013 ARM Ltd.
ed69bdd8
LP
6 */
7
8#ifndef __LINUX_ARM_CCI_H
9#define __LINUX_ARM_CCI_H
10
11#include <linux/errno.h>
12#include <linux/types.h>
13
772742a6
SP
14#include <asm/arm-cci.h>
15
ed69bdd8
LP
16struct device_node;
17
18#ifdef CONFIG_ARM_CCI
19extern bool cci_probed(void);
ee8e5d5f
SP
20#else
21static inline bool cci_probed(void) { return false; }
22#endif
23
24#ifdef CONFIG_ARM_CCI400_PORT_CTRL
ed69bdd8
LP
25extern int cci_ace_get_port(struct device_node *dn);
26extern int cci_disable_port_by_cpu(u64 mpidr);
27extern int __cci_control_port_by_device(struct device_node *dn, bool enable);
28extern int __cci_control_port_by_index(u32 port, bool enable);
29#else
ed69bdd8
LP
30static inline int cci_ace_get_port(struct device_node *dn)
31{
32 return -ENODEV;
33}
34static inline int cci_disable_port_by_cpu(u64 mpidr) { return -ENODEV; }
35static inline int __cci_control_port_by_device(struct device_node *dn,
36 bool enable)
37{
38 return -ENODEV;
39}
40static inline int __cci_control_port_by_index(u32 port, bool enable)
41{
42 return -ENODEV;
43}
44#endif
ee8e5d5f 45
ed69bdd8
LP
46#define cci_disable_port_by_device(dev) \
47 __cci_control_port_by_device(dev, false)
48#define cci_enable_port_by_device(dev) \
49 __cci_control_port_by_device(dev, true)
50#define cci_disable_port_by_index(dev) \
51 __cci_control_port_by_index(dev, false)
52#define cci_enable_port_by_index(dev) \
53 __cci_control_port_by_index(dev, true)
54
55#endif