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