blob: 75e543b78f53ec4b931b87adee9d389bd8d50164 [file] [log] [blame]
Dong Aisheng87d68732012-09-05 10:57:13 +08001/*
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
Tushar Behera3d2379902014-05-09 16:37:40 +053018#include <linux/err.h>
19
Sylwester Nawrocki5fb1c2d2013-03-25 17:56:23 +010020struct device_node;
21
Peter Chendf73de92013-10-22 16:46:25 +080022#ifdef CONFIG_MFD_SYSCON
Dong Aisheng87d68732012-09-05 10:57:13 +080023extern struct regmap *syscon_node_to_regmap(struct device_node *np);
24extern struct regmap *syscon_regmap_lookup_by_compatible(const char *s);
Alexander Shiyan5ab3a892013-03-13 21:34:20 +040025extern struct regmap *syscon_regmap_lookup_by_pdevname(const char *s);
Dong Aisheng87d68732012-09-05 10:57:13 +080026extern struct regmap *syscon_regmap_lookup_by_phandle(
27 struct device_node *np,
28 const char *property);
Peter Chendf73de92013-10-22 16:46:25 +080029#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
Dong Aisheng87d68732012-09-05 10:57:13 +080053#endif /* __LINUX_MFD_SYSCON_H__ */