1/*
2 * System Control Driver
3 *
4 * Copyright (C) 2012 Freescale Semiconductor, Inc.
5 * Copyright (C) 2012 Linaro Ltd.
6 *
7 * Author: Dong Aisheng <dong.aisheng@linaro.org>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 */
14
15#ifndef __LINUX_MFD_SYSCON_H__
16#define __LINUX_MFD_SYSCON_H__
17
18#include <linux/err.h>
19
20struct device_node;
21
22#ifdef CONFIG_MFD_SYSCON
23extern struct regmap *syscon_node_to_regmap(struct device_node *np);
24extern struct regmap *syscon_regmap_lookup_by_compatible(const char *s);
25extern struct regmap *syscon_regmap_lookup_by_pdevname(const char *s);
26extern struct regmap *syscon_regmap_lookup_by_phandle(
27					struct device_node *np,
28					const char *property);
29#else
30static inline struct regmap *syscon_node_to_regmap(struct device_node *np)
31{
32	return ERR_PTR(-ENOSYS);
33}
34
35static inline struct regmap *syscon_regmap_lookup_by_compatible(const char *s)
36{
37	return ERR_PTR(-ENOSYS);
38}
39
40static inline struct regmap *syscon_regmap_lookup_by_pdevname(const char *s)
41{
42	return ERR_PTR(-ENOSYS);
43}
44
45static inline struct regmap *syscon_regmap_lookup_by_phandle(
46					struct device_node *np,
47					const char *property)
48{
49	return ERR_PTR(-ENOSYS);
50}
51#endif
52
53#endif /* __LINUX_MFD_SYSCON_H__ */
54