blob: 7f20e9b502a5bd48dc9624fc0d4d34dd4237de75 [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001/* SPDX-License-Identifier: GPL-2.0-or-later */
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002/*
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>
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00009 */
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
David Brazdil0f672f62019-12-10 10:32:29 +000020extern struct regmap *device_node_to_regmap(struct device_node *np);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000021extern struct regmap *syscon_node_to_regmap(struct device_node *np);
22extern struct regmap *syscon_regmap_lookup_by_compatible(const char *s);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000023extern struct regmap *syscon_regmap_lookup_by_phandle(
24 struct device_node *np,
25 const char *property);
Olivier Deprez157378f2022-04-04 15:47:50 +020026extern 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);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000031#else
David Brazdil0f672f62019-12-10 10:32:29 +000032static inline struct regmap *device_node_to_regmap(struct device_node *np)
33{
34 return ERR_PTR(-ENOTSUPP);
35}
36
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000037static 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000047static inline struct regmap *syscon_regmap_lookup_by_phandle(
48 struct device_node *np,
49 const char *property)
50{
51 return ERR_PTR(-ENOTSUPP);
52}
Olivier Deprez157378f2022-04-04 15:47:50 +020053
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}
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000062#endif
63
64#endif /* __LINUX_MFD_SYSCON_H__ */