1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * System Control Driver
4 *
5 * Copyright (C) 2012 Freescale Semiconductor, Inc.
6 * Copyright (C) 2012 Linaro Ltd.
7 *
8 * Author: Dong Aisheng <dong.aisheng@linaro.org>
9 */
10
11#ifndef __LINUX_MFD_SYSCON_H__
12#define __LINUX_MFD_SYSCON_H__
13
14#include <linux/err.h>
15#include <linux/errno.h>
16
17struct device_node;
18
19#ifdef CONFIG_MFD_SYSCON
20struct regmap *device_node_to_regmap(struct device_node *np);
21struct regmap *syscon_node_to_regmap(struct device_node *np);
22struct regmap *syscon_regmap_lookup_by_compatible(const char *s);
23struct regmap *syscon_regmap_lookup_by_phandle(struct device_node *np,
24 const char *property);
25struct regmap *syscon_regmap_lookup_by_phandle_args(struct device_node *np,
26 const char *property,
27 int arg_count,
28 unsigned int *out_args);
29struct regmap *syscon_regmap_lookup_by_phandle_optional(struct device_node *np,
30 const char *property);
31#else
32static inline struct regmap *device_node_to_regmap(struct device_node *np)
33{
34 return ERR_PTR(-ENOTSUPP);
35}
36
37static inline struct regmap *syscon_node_to_regmap(struct device_node *np)
38{
39 return ERR_PTR(-ENOTSUPP);
40}
41
42static inline struct regmap *syscon_regmap_lookup_by_compatible(const char *s)
43{
44 return ERR_PTR(-ENOTSUPP);
45}
46
47static inline struct regmap *syscon_regmap_lookup_by_phandle(
48 struct device_node *np,
49 const char *property)
50{
51 return ERR_PTR(-ENOTSUPP);
52}
53
54static inline struct regmap *syscon_regmap_lookup_by_phandle_args(
55 struct device_node *np,
56 const char *property,
57 int arg_count,
58 unsigned int *out_args)
59{
60 return ERR_PTR(-ENOTSUPP);
61}
62
63static inline struct regmap *syscon_regmap_lookup_by_phandle_optional(
64 struct device_node *np,
65 const char *property)
66{
67 return NULL;
68}
69
70#endif
71
72#endif /* __LINUX_MFD_SYSCON_H__ */
73

source code of linux/include/linux/mfd/syscon.h