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 17 struct device_node; 18 19 #ifdef CONFIG_MFD_SYSCON 20 extern struct regmap *device_node_to_regmap(struct device_node *np); 21 extern struct regmap *syscon_node_to_regmap(struct device_node *np); 22 extern struct regmap *syscon_regmap_lookup_by_compatible(const char *s); 23 extern struct regmap *syscon_regmap_lookup_by_phandle( 24 struct device_node *np, 25 const char *property); 26 extern struct regmap *syscon_regmap_lookup_by_phandle_args( 27 struct device_node *np, 28 const char *property, 29 int arg_count, 30 unsigned int *out_args); 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 #endif 63 64 #endif /* __LINUX_MFD_SYSCON_H__ */ 65