xref: /linux-6.15/include/linux/mfd/syscon.h (revision 7828b7bb)
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 <[email protected]>
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 
17 struct device_node;
18 
19 #ifdef CONFIG_MFD_SYSCON
20 struct regmap *device_node_to_regmap(struct device_node *np);
21 struct regmap *syscon_node_to_regmap(struct device_node *np);
22 struct regmap *syscon_regmap_lookup_by_compatible(const char *s);
23 struct regmap *syscon_regmap_lookup_by_phandle(struct device_node *np,
24 					       const char *property);
25 struct regmap *syscon_regmap_lookup_by_phandle_args(struct device_node *np,
26 						    const char *property,
27 						    int arg_count,
28 						    unsigned int *out_args);
29 struct regmap *syscon_regmap_lookup_by_phandle_optional(struct device_node *np,
30 							const char *property);
31 #else
32 static inline struct regmap *device_node_to_regmap(struct device_node *np)
33 {
34 	return ERR_PTR(-ENOTSUPP);
35 }
36 
37 static inline struct regmap *syscon_node_to_regmap(struct device_node *np)
38 {
39 	return ERR_PTR(-ENOTSUPP);
40 }
41 
42 static inline struct regmap *syscon_regmap_lookup_by_compatible(const char *s)
43 {
44 	return ERR_PTR(-ENOTSUPP);
45 }
46 
47 static 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 
54 static 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 
63 static 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