187d687301f380729ec320619f100f3ba39f3693dDong Aisheng/*
287d687301f380729ec320619f100f3ba39f3693dDong Aisheng * System Control Driver
387d687301f380729ec320619f100f3ba39f3693dDong Aisheng *
487d687301f380729ec320619f100f3ba39f3693dDong Aisheng * Copyright (C) 2012 Freescale Semiconductor, Inc.
587d687301f380729ec320619f100f3ba39f3693dDong Aisheng * Copyright (C) 2012 Linaro Ltd.
687d687301f380729ec320619f100f3ba39f3693dDong Aisheng *
787d687301f380729ec320619f100f3ba39f3693dDong Aisheng * Author: Dong Aisheng <dong.aisheng@linaro.org>
887d687301f380729ec320619f100f3ba39f3693dDong Aisheng *
987d687301f380729ec320619f100f3ba39f3693dDong Aisheng * This program is free software; you can redistribute it and/or modify
1087d687301f380729ec320619f100f3ba39f3693dDong Aisheng * it under the terms of the GNU General Public License as published by
1187d687301f380729ec320619f100f3ba39f3693dDong Aisheng * the Free Software Foundation; either version 2 of the License, or
1287d687301f380729ec320619f100f3ba39f3693dDong Aisheng * (at your option) any later version.
1387d687301f380729ec320619f100f3ba39f3693dDong Aisheng */
1487d687301f380729ec320619f100f3ba39f3693dDong Aisheng
1587d687301f380729ec320619f100f3ba39f3693dDong Aisheng#ifndef __LINUX_MFD_SYSCON_H__
1687d687301f380729ec320619f100f3ba39f3693dDong Aisheng#define __LINUX_MFD_SYSCON_H__
1787d687301f380729ec320619f100f3ba39f3693dDong Aisheng
183d2379909374ef2de6bc57ed8966c7ca8c9dfb82Tushar Behera#include <linux/err.h>
193d2379909374ef2de6bc57ed8966c7ca8c9dfb82Tushar Behera
205fb1c2dd8f9e9f3fd4ecbaefc75b83ab0ec40cfaSylwester Nawrockistruct device_node;
215fb1c2dd8f9e9f3fd4ecbaefc75b83ab0ec40cfaSylwester Nawrocki
22df73de9b0d412915384396637bf67ef9208161e9Peter Chen#ifdef CONFIG_MFD_SYSCON
2387d687301f380729ec320619f100f3ba39f3693dDong Aishengextern struct regmap *syscon_node_to_regmap(struct device_node *np);
2487d687301f380729ec320619f100f3ba39f3693dDong Aishengextern struct regmap *syscon_regmap_lookup_by_compatible(const char *s);
255ab3a89a741fa4c331f42dec17fde59586dc59e6Alexander Shiyanextern struct regmap *syscon_regmap_lookup_by_pdevname(const char *s);
2687d687301f380729ec320619f100f3ba39f3693dDong Aishengextern struct regmap *syscon_regmap_lookup_by_phandle(
2787d687301f380729ec320619f100f3ba39f3693dDong Aisheng					struct device_node *np,
2887d687301f380729ec320619f100f3ba39f3693dDong Aisheng					const char *property);
29df73de9b0d412915384396637bf67ef9208161e9Peter Chen#else
30df73de9b0d412915384396637bf67ef9208161e9Peter Chenstatic inline struct regmap *syscon_node_to_regmap(struct device_node *np)
31df73de9b0d412915384396637bf67ef9208161e9Peter Chen{
32df73de9b0d412915384396637bf67ef9208161e9Peter Chen	return ERR_PTR(-ENOSYS);
33df73de9b0d412915384396637bf67ef9208161e9Peter Chen}
34df73de9b0d412915384396637bf67ef9208161e9Peter Chen
35df73de9b0d412915384396637bf67ef9208161e9Peter Chenstatic inline struct regmap *syscon_regmap_lookup_by_compatible(const char *s)
36df73de9b0d412915384396637bf67ef9208161e9Peter Chen{
37df73de9b0d412915384396637bf67ef9208161e9Peter Chen	return ERR_PTR(-ENOSYS);
38df73de9b0d412915384396637bf67ef9208161e9Peter Chen}
39df73de9b0d412915384396637bf67ef9208161e9Peter Chen
40df73de9b0d412915384396637bf67ef9208161e9Peter Chenstatic inline struct regmap *syscon_regmap_lookup_by_pdevname(const char *s)
41df73de9b0d412915384396637bf67ef9208161e9Peter Chen{
42df73de9b0d412915384396637bf67ef9208161e9Peter Chen	return ERR_PTR(-ENOSYS);
43df73de9b0d412915384396637bf67ef9208161e9Peter Chen}
44df73de9b0d412915384396637bf67ef9208161e9Peter Chen
45df73de9b0d412915384396637bf67ef9208161e9Peter Chenstatic inline struct regmap *syscon_regmap_lookup_by_phandle(
46df73de9b0d412915384396637bf67ef9208161e9Peter Chen					struct device_node *np,
47df73de9b0d412915384396637bf67ef9208161e9Peter Chen					const char *property)
48df73de9b0d412915384396637bf67ef9208161e9Peter Chen{
49df73de9b0d412915384396637bf67ef9208161e9Peter Chen	return ERR_PTR(-ENOSYS);
50df73de9b0d412915384396637bf67ef9208161e9Peter Chen}
51df73de9b0d412915384396637bf67ef9208161e9Peter Chen#endif
52df73de9b0d412915384396637bf67ef9208161e9Peter Chen
5387d687301f380729ec320619f100f3ba39f3693dDong Aisheng#endif /* __LINUX_MFD_SYSCON_H__ */
54