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